相关疑难解决方法(0)

单引号与Python中的双引号

根据文档,它们几乎可以互换.是否有风格上的理由使用一个而不是另一个?

python coding-style

718
推荐指数
8
解决办法
49万
查看次数

当包含有意义的空格时,如何编写与 re.VERBOSE 一起使用的模式?

添加 re.VERBOSE 时,包含有意义空格的正则表达式会中断,这显然是因为 re.VERBOSE“有用”地将“问题摘要”中的(有意义的)空格以及所有糟糕的无意义空格(例如填充和换行符内的(多行)模式)。(我在多行中使用 re.VERBOSE 是不可协商的 - 这实际上是对巨大的多行正则表达式的大规模简化,其中 re.VERBOSE 是必要的,只是为了保持理智。)

import re
re.match(r'''Issue Summary.*''', 'Issue Summary: fails''', re.U|re.VERBOSE)
# No match!
re.match(r'''Issue Summary.*''', 'Issue Summary: passes''', re.U)
<_sre.SRE_Match object at 0x10ba36030>
re.match(r'Issue Summary.*', 'Issue Summary: passes''', re.U)
<_sre.SRE_Match object at 0x10b98ff38>
Run Code Online (Sandbox Code Playgroud)

是否有更明智的替代方案来编写包含有意义空格的 re.VERBOSE 友好模式,而不是用“\s”或“.”替换我的模式中的每个实例,这不仅丑陋而且违反直觉并且自动化很痛苦?

re.match(r'Issue\sSummary.*''', 'Issue Summary: fails', re.VERBOSE)
<_sre.SRE_Match object at 0x10ba36030>
re.match(r'Issue.Summary.*''', 'Issue Summary: fails', re.VERBOSE)
<_sre.SRE_Match object at 0x10b98ff38>
Run Code Online (Sandbox Code Playgroud)

(顺便说一句,这是 Python 2 和 3 上的一个有用的 docbug 捕获。一旦我在此处就正确的解决方案达成共识,我就会将其归档)

python regex flags whitespace

6
推荐指数
1
解决办法
903
查看次数

包含"""(三引号)的多行字符串

如何定义包含"""(3个双引号)的python多行字符串

我想要的输出是

"""
TEST
"""
Run Code Online (Sandbox Code Playgroud)

原因:我写一个脚本来创建一些样板代码.

python string-literals

1
推荐指数
1
解决办法
2205
查看次数