gpt4 book ai didi

python - 理解 python 中正则表达式的原始字符串

转载 作者:行者123 更新时间:2023-11-28 21:49:57 28 4
gpt4 key购买 nike

我在 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 之王感到有点困惑。

最佳答案

使用原始字符串时不要加倍反斜杠:

>>> pattern3 = r'\n\n'
>>> pattern3
'\\n\\n'
>>> re.findall(pattern3, text)
['\n\n']

关于python - 理解 python 中正则表达式的原始字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32703987/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com