如何在Python原始字符串中匹配换行符

我对Python原始字符串有些困惑。我知道,如果我们使用原始字符串,那么它将把'\'作为一个正常的反斜杠(例如,r'\n'\n)。但是,我想知道是否要在原始字符串中匹配换行符。我尝试过r'\\n',但是没有用。

有人对此有好主意吗?

回答:

在正则表达式中,您需要指定您处于多行模式:

>>> import re

>>> s = """cat

... dog"""

>>>

>>> re.match(r'cat\ndog',s,re.M)

<_sre.SRE_Match object at 0xcb7c8>

请注意,re转换的\n(原始字符串)转换成换行符。正如您在评论中指出的那样,实际上并不

re.M它匹配,但是它确实有助于匹配,$并且^更加直观:

>> re.match(r'^cat\ndog',s).group(0)

'cat\ndog'

>>> re.match(r'^cat$\ndog',s).group(0) #doesn't match

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

AttributeError: 'NoneType' object has no attribute 'group'

>>> re.match(r'^cat$\ndog',s,re.M).group(0) #matches.

'cat\ndog'

以上是 如何在Python原始字符串中匹配换行符 的全部内容, 来源链接: utcz.com/qa/408257.html

回到顶部