Python正则表达式的命名约定?

时间:2015-11-05 17:09:16

标签: python regex naming-conventions naming

Python中的正则表达式是否有可接受的命名约定?或者,如果没有,有什么建议如何命名他们?通常我将它们命名为look_for_dateaddress_re,但我读过几个在变量名中使用'_re'这样的后缀并不好的地方。对我来说,似乎正则表达式需要一些东西来表明它是一个正则表达式,因为如果你只是命名它dateaddress,你将无法做到这样的事情,这似乎很直观:< / p>

date = date_re.match(text)

1 个答案:

答案 0 :(得分:6)

编译的正则表达式通常是常量,因此每个PEP 8应该有by个名称。我倾向于为他们所匹配的东西命名;举一个我最近写的代码的例子:

.(d := DATE)

我认为这清楚地表明发生了什么,UPPER_CASE_WITH_UNDERSCORES传达“这描述了我们认为有效的封闭模式”以及类似的行:

import re

VALID_CLOSURE_PATTERN = re.compile(r'''
    ^\d{2}    # starts with two digits 0-9
    [NY]{4}$  # followed by four Y/N characters
''', re.IGNORECASE + re.VERBOSE)


class RoadClosure(object):

    def __init__(self, ..., closure_pattern):
        """Initialise the new instance."""
        if not VALID_CLOSURE_PATTERN.match(closure_pattern):
            raise ValueError('invalid closure pattern: {!r}'.format(closure_pattern))
       ...

...

描述了接近普通英语的实际行动。所以在你的情况下,你可以写:

VALID_CLOSURE_PATTERN