在python中使用re.verbose时使用三个开-关引号的原因
我只是好奇,为什么我看到的大多数示例都使用re.verbose,在使用正则表达式时,使用“” 我发现的一个例子如下所示在python中使用re.verbose时使用三个开-关引号的原因,python,Python,我只是好奇,为什么我看到的大多数示例都使用re.verbose,在使用正则表达式时,使用“” 我发现的一个例子如下所示 address = re.compile( ''' #THIS [\w\d.+-]+ # username @ ([\w\d.]+\.)+ # domain name prefix (com|org|edu) # we should support more top-level domai
address = re.compile(
''' #THIS
[\w\d.+-]+ # username
@
([\w\d.]+\.)+ # domain name prefix
(com|org|edu) # we should support more top-level domains
''', #AND THIS
re.UNICODE | re.VERBOSE)
使用''
允许字符串跨越多行,因此它们可以分解re的每个部分,而不是一行
这样做是为了代码可读性,而不是功能性
有关跨多行的字符串的详细信息,请参见。注意,一般情况下,您希望使用“原始”字符串,例如以
r''开头。
。这将允许您在正则表达式中使用regexp转义序列(例如,\w
),而不必担心它们被解释为字符串转义,如\n
。这绝对是第一个原因。三重引号还允许在regexp中使用未转换的单引号。