でコンパイルした正規表現パターンからパターン文字列を取得することができます私が持っているこのようないくつかのコード:どのように私は、Python
>>> import re
>>> p = re.compile('my pattern')
>>> print p
_sre.SRE_Pattern object at 0x02274380
それはp
変数から文字列"my pattern"
を取得することはできますか?
でコンパイルした正規表現パターンからパターン文字列を取得することができます私が持っているこのようないくつかのコード:どのように私は、Python
>>> import re
>>> p = re.compile('my pattern')
>>> print p
_sre.SRE_Pattern object at 0x02274380
それはp
変数から文字列"my pattern"
を取得することはできますか?
p.pattern
ここでモジュールを再について詳しく読む: http://docs.python.org/library/re.html
はい:
print p.pattern
ヒントを、メンバーのリストを取得するためにpythonでdir
機能を使用します。
dir(p)
リストには:
モジュールのドキュメントの "Regular Expression Objects"セクションから['__class__', '__copy__', '__deepcopy__', '__delattr__', '__doc__', '__eq__',
'__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__',
'__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__',
'__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__',
'findall', 'finditer', 'flags', 'groupindex', 'groups', 'match', 'pattern',
'scanner', 'search', 'split', 'sub', 'subn']
'help(value)'はコンソール上でもっと便利です。 –
:
RegexObject.pattern
REオブジェクトがコンパイルされたパターン文字列。例えば
:
>>> import re
>>> p = re.compile('my pattern')
>>> p
<_sre.SRE_Pattern object at 0x1001ba818>
>>> p.pattern
'my pattern'
はPython 3.0以上でre
モジュールでは、あなたが簡単なdir(p)
をすることによってこれを見つけることができますが:
>>> print(dir(p))
['__class__', '__copy__', '__deepcopy__', '__delattr__', '__doc__',
'__eq__', '__format__', '__ge__', '__getattribute__', '__gt__',
'__hash__', '__init__', '__le__', '__lt__', '__ne__', '__new__',
'__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__',
'__str__', '__subclasshook__', 'findall', 'finditer', 'flags',
'groupindex', 'groups', 'match', 'pattern', 'scanner', 'search',
'split', 'sub', 'subn']
これがないない仕事Python 2.6(または2.5)で - dir
コマンドは完璧ではないので、常にドキュメントをチェックする価値があります!
>>> print dir(p)
['__copy__', '__deepcopy__', 'findall', 'finditer', 'match', 'scanner',
'search', 'split', 'sub', 'subn']
ありがとうございました。私はdir(p)を試し、いくつかの属性とメソッドしか表示しないので、私はドキュメントを読みません。 http://stackoverflow.com/questions/1415924/how-can-i-obtain-pattern-string-from-compiled-regexp-pattern-in-python/1415943#1415943 –
私は同じことをしました、単純ではないと仮定しましたそれを得る方法:) – Anentropic
はpython3 dir(some_compiled_pattern)のように見えますが、属性を表示しますが、2.7 –