看啥推荐读物
专栏名称: Python猫
喵生苦短,必须优雅!从喵星来到地球,我爱上了Python,变得优雅而智能。现在我给大家讲讲喵星的故事:喵~妙~,喵~妙~,喵~妙~妙~~~
今天看啥  ›  专栏  ›  Python猫

正则表达式中 “$” 并不是表示 “字符串结束”

Python猫  · 公众号  ·  · 2024-04-15 21:24
△△请给“Python猫”加星标 ,以免错过文章推送作者:Seth Larson译者:豌豆花下猫@Python猫英文:Regex character “$” doesn't mean “end-of-string”转载请保留作者及译者信息!这篇文章写一写我最近在用 Python 的正则表达式模块(re)开发 CPython 的 SBOM 工具时发现的一个令人惊讶的行为。如果用过正则表达式,你可能知道 ^ 表示 “字符串开始”,并相应地将 $ 视为 “字符串结束”。因此认为, cat$ 模式会匹配字符串 "lolcat" ,但不会匹配 "internet cat video"。^ 的行为让我认为 $ 也是类似的,但这并不一定成立,而且这种行为取决于不同编程语言及其写法。特别是对于 Python 来说,如果禁用了多行模式(这是默认设置),那么,$ 字符不仅可以匹配字符串的末尾,还可以匹配字符串末尾的换行符。所以,如果你试图匹配一个末尾没有换行符的字符串,在 Python 中 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照