0

我想让我的代码更容易维护,所以我遇到了这个问题

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

4

2 回答 2

4

re.VERBOSE您可以通过指定标志将您的评论放入正则表达式中。

re.compile(r'''foo  # some comments
               |bar # some more comments
            ''', re.VERBOSE)

标志的简写是re.X. 文档

于 2013-11-13T07:20:05.977 回答
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
            )
于 2013-11-13T07:45:59.867 回答