Tan*_*guy 2 python regex newline rawstring
我有很多充满换行符的文本文件,我正在 python 3.4 中解析它们。我正在寻找换行符,因为它们将我的文本分成不同的部分。这是一个文本示例:
\n\ntext = \'avocat ;\\n\\n m. x\'\nRun Code Online (Sandbox Code Playgroud)\n\n我 na\xc3\xafvely 开始在正则表达式(RE)中寻找带有 \' \\n\' 的换行符,而不认为反斜杠 \' \\\' 是转义字符。然而,事实证明这工作得很好:
>>> import re\n\n>>> pattern1 = \'\\n\\n\'\n>>> re.findall(pattern1, text)\n[\'\\n\\n\']\nRun Code Online (Sandbox Code Playgroud)\n\n然后,我明白我应该使用双反斜杠来寻找一个反斜杠。这也运行得很好:
\n\n>>> pattern2 = \'\\\\n\\\\n\'\n>>> re.findall(pattern2, text)\n[\'\\n\\n\']\nRun Code Online (Sandbox Code Playgroud)\n\n但在另一个线程上,我被告知使用原始字符串而不是常规字符串,但这种格式无法找到我正在寻找的换行符:
\n\n>>> pattern3 = r\'\\\\n\\\\n\'\n>>> pattern3\n\'\\\\\\\\n\\\\\\\\n\'\n>>> re.findall(pattern3, text)\n[]\nRun Code Online (Sandbox Code Playgroud)\n\n你能帮我一下吗?我有点困惑我应该使用什么 RE 之王才能正确匹配换行符。
\n使用原始字符串时不要使用双反斜杠:
>>> pattern3 = r'\n\n'
>>> pattern3
'\\n\\n'
>>> re.findall(pattern3, text)
['\n\n']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
892 次 |
| 最近记录: |