【发布时间】:2015-12-18 16:05:42
【问题描述】:
我有很多包含换行符的文本文件,我在 python 3.4 中解析它们。我正在寻找换行符,因为它们将我的文本分成不同的部分。这是一个文本示例:
text = 'avocat ;\n\n m. x'
我天真地开始在我的正则表达式 (RE) 中寻找带有“\n”的换行符,而没有想到反斜杠“\”是一个转义字符。然而,事实证明这工作正常:
>>> import re
>>> pattern1 = '\n\n'
>>> re.findall(pattern1, text)
['\n\n']
然后,我知道我应该使用双反斜杠来查找一个反斜杠。这也很好用:
>>> pattern2 = '\\n\\n'
>>> re.findall(pattern2, text)
['\n\n']
但是在another thread 上,我被告知使用原始字符串而不是常规字符串,但是这种格式无法找到我正在寻找的换行符:
>>> pattern3 = r'\\n\\n'
>>> pattern3
'\\\\n\\\\n'
>>> re.findall(pattern3, text)
[]
你能帮帮我吗?为了正确匹配换行符,我应该使用什么 RE 之王有点困惑。
【问题讨论】:
标签: python regex newline rawstring