2015-11-05 20 views
5

Pythonでの正規表現の命名規則はありますか?そうでない場合は、名前を付ける方法についていくつか提案がありますか?通常、私はそれらの名前をlook_for_dateまたはaddress_reのように指定しますが、変数名に '_re'のような接尾辞を使用するといくつかの場所を読みました。正規表現は、あなただけのdateまたはaddressそれという名前を付けた場合、あなたは直感的に思われ、このようなものを行うことができないであろうから、それは、正規表現だ示すために何かを必要とするように私には思える:Python正規表現の命名規則ですか?

date = date_re.match(text)

答えて

5

コンパイルされた正規表現はの定数ですので、UPPERCASE_WITH_UNDESCORESという名前が必要です。私は彼らが一致するものの名​​前を付ける傾向があります。とライン「これは我々が有効な閉鎖パターンであることを考えるだろうかを説明し、」

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が通信:私は最近書いたいくつかのコードからの例を与えることlike:

if not VALID_CLOSURE_PATTERN.match(closure_pattern): 

は、実際には普通の英語に近いことを示しています。あなたの場合、あなたは書くかもしれません:

date = VALID_DATE.match(text) 
+1

私は大文字のことについても尋ねるつもりでした。答えをありがとう。だから、これらはガイドラインであり、PEPの神々によって石に刻まれていないのですか? – nonex