Skip to main content
 首页 » 编程设计

python之我如何使用正则表达式来匹配 “the end” 而不允许在那里换行

2025年05月04日25kerrycode

^abc$ 匹配字符串 abc,但也匹配 abc\n(带有尾随换行符)。

如何让它只匹配没有换行符的字符串?

(考虑到 Python,但应该是一般的正则表达式问题。)

请您参考如下方法:

使用 \Z 代替 $,它只匹配字符串的末尾。

>>> re.match(r'^abc\Z', 'abc') 
<_sre.SRE_Match object at 0x02469560> 
>>> re.match(r'^abc\Z', 'abc\n') 
>>> 

注意:这个答案具体取决于 \Z 在 Python 中的含义。这个概念是often spelled \z 在其他正则表达式实现中。您还可以使用否定先行断言,但其语法也因正则表达式实现而异。参见 dawg's answer例如在 Python 中使用否定先行断言。