gpt4 book ai didi

python - 用于正则表达式的 Python 原始字符串表示法的单引号、双引号或三重双引号?

转载 作者:行者123 更新时间:2023-11-28 20:45:14 24 4
gpt4 key购买 nike

我想知道什么时候使用 Python 的正则表达式原始字符串表示法:单引号、双引号或三重双引号?

来自 https://docs.python.org/2/howto/regex.html

When used with triple-quoted strings, this enables REs to be formatted more neatly:

pat = re.compile(r"""
\s* # Skip leading whitespace
(?P<header>[^:]+) # Header name
\s* : # Whitespace, and a colon
(?P<value>.*?) # The header's value -- *? used to
# lose the following trailing whitespace
\s*$ # Trailing whitespace to end-of-line
""", re.VERBOSE)

我用双引号和单引号替换了三重双引号,但都不起作用。

不过,文章中也使用了单引号,其他例子中也使用了双引号:

r"\w+\s+\1"

r'(\b\w+)\s+\1'

我想知道为什么?

谢谢!

最佳答案

原始字符串的好处

使用原始字符串,您不必担心字符串中的反斜杠,因为:

r"\d"

如果没有 r,字符串将不会以您期望的状态到达引擎。您将不得不转义反斜杠。

三引号的好处

使用三引号(正如其他人所说)是您的字符串可以跨越多行,如:

r"""(?x)   # let's write this complex regex in free-space mode!
\d # match a digit
$ # at the end of a line
"""

关于python - 用于正则表达式的 Python 原始字符串表示法的单引号、双引号或三重双引号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24110104/

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