我想让我的代码更容易维护,所以我遇到了这个问题
将
re.compile(r'foo' # some comments
'|bar'
)
与以下相同:
re.compile(r'foo|bar')#blabla
这一个:
re.compile(r"""foo #some comments
bar""")
IdeaJ建议这样的事情:
re.compile(r'foo'
r'bar')
我这里有成千上万的'foobar'。
我知道第三个可能会产生一些不需要的\ w 但其他人呢?
我想要的只是一个正则表达式匹配foo OR bar
答案 0 :(得分:4)
您可以通过指定re.VERBOSE
标记将注释放在正则表达式中。
re.compile(r'''foo # some comments
|bar # some more comments
''', re.VERBOSE)
标志的简写为re.X
。 docs
答案 1 :(得分:1)
在Python文档http://docs.python.org/2/reference/lexical_analysis.html#string-literal-concatenation
中找到了这个 re.compile("[A-Za-z_]" # letter or underscore
"[A-Za-z0-9_]*" # letter, digit or underscore
)