gpt4 book ai didi

python - 正则表达式中的原始字符串表示法

转载 作者:行者123 更新时间:2023-12-01 05:35:21 25 4
gpt4 key购买 nike

Python 有这种指定正则表达式模式的方式,其中所有特殊字符不应被视为特殊字符。来自文档:

So r"\n" is a two-character string containing '\' and 'n', while "\n" is a one-character string containing a newline.

为什么这有效?

import re
print re.split(r"\n", "1\n2\n3")

第一个参数应该是“\”和“n”,第二个参数应该包含两个换行符。但它打印:

['1', '2', '3']

最佳答案

第一个确实包含反斜杠和 n,但在正则表达式语言中,反斜杠和 n 表示换行符(就像在 Python 字符串语法中一样)。也就是说,字符串 r"\n" 不包含实际的换行符,但它包含告诉正则表达式引擎查找实际换行符的内容。

如果要搜索反斜杠后跟 n,则需要使用 r"\\n"

原始字符串的要点是它们阻止了 Python 对字符串转义的基本解释,允许您使用反斜杠来表达其正则表达式含义。如果您不想要正则表达式的含义,您仍然必须使用两个反斜杠,如我上面的示例所示。但如果没有原始字符串,情况会更糟:如果您想在没有原始字符串的情况下搜索文字反斜杠-n,则必须使用 "\\\\n"。如果原始字符串阻止了正则表达式特殊字符的解释(因此普通的 "\n" 实际上意味着反斜杠-n),那么您根本无法使用正则表达式语法。

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

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