在python中如何匹配不带换行符的回车符

2024-04-25 00:07:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试在python中使用正则表达式来查找字符串中的回车符,\r该字符串没有以下换行符,因此可能是一个错误。在

但是,我的正则表达式总是匹配的,我不知道为什么:

>>> import re
>>> cr = re.compile("\r[^\n]", re.X)
>>> rr= rege.search("bla")
>>> rr
<_sre.SRE_Match object at 0x0000000003793AC0>

正确的语法是什么样子?在


Tags: 字符串importresearchobjectmatch错误rr
2条回答

您可以使用negative lookahead

\r(?!\n)

Python中:

^{pr2}$

您使用的是详细模式(re.X)和非原始字符串。这意味着您的正则表达式中有一个回车符和换行符。由于这些字符是空白字符,并且您处于详细模式下,字符类外部的回车符被完全忽略。您的regex实际上是r'[^\n]',匹配任何非换行字符。在

使用原始字符串。正如其他人所建议的那样,消极的展望对于“不被跟随”的主张也会更好:

r'\r(?!\n)'

相关问题 更多 >