2024-04-25 00:07:57 发布
网友
我尝试在python中使用正则表达式来查找字符串中的回车符,\r该字符串没有以下换行符,因此可能是一个错误。在
但是,我的正则表达式总是匹配的,我不知道为什么:
>>> import re >>> cr = re.compile("\r[^\n]", re.X) >>> rr= rege.search("bla") >>> rr <_sre.SRE_Match object at 0x0000000003793AC0>
正确的语法是什么样子?在
您可以使用negative lookahead:
\r(?!\n)
在Python中:
Python
您使用的是详细模式(re.X)和非原始字符串。这意味着您的正则表达式中有一个回车符和换行符。由于这些字符是空白字符,并且您处于详细模式下,字符类外部的回车符被完全忽略。您的regex实际上是r'[^\n]',匹配任何非换行字符。在
re.X
r'[^\n]'
使用原始字符串。正如其他人所建议的那样,消极的展望对于“不被跟随”的主张也会更好:
r'\r(?!\n)'
您可以使用negative lookahead:
在
^{pr2}$Python
中:您使用的是详细模式(
re.X
)和非原始字符串。这意味着您的正则表达式中有一个回车符和换行符。由于这些字符是空白字符,并且您处于详细模式下,字符类外部的回车符被完全忽略。您的regex实际上是r'[^\n]'
,匹配任何非换行字符。在使用原始字符串。正如其他人所建议的那样,消极的展望对于“不被跟随”的主张也会更好:
相关问题 更多 >
编程相关推荐