如何在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