Desde la sección "Regular Expression Objects" de la documentación re
módulo:
RegexObject.pattern
La cadena de patrón a partir del cual se compiló el objeto RE.
Por ejemplo:
>>> import re
>>> p = re.compile('my pattern')
>>> p
<_sre.SRE_Pattern object at 0x1001ba818>
>>> p.pattern
'my pattern'
Con el módulo re
en Python 3.0 y superior, se puede encontrar esta haciendo una simple 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']
Sin embargo, esto no trabajo en Python 2.6 (o 2.5): el comando dir
no es perfecto, por lo que siempre vale la pena consultar los documentos.
>>> print dir(p)
['__copy__', '__deepcopy__', 'findall', 'finditer', 'match', 'scanner',
'search', 'split', 'sub', 'subn']
Gracias. No leo documentos porque pruebo i dir (p) y muestra solo varios atributos y métodos. http://stackoverflow.com/questions/1415924/how-can-i-obtain-pattern-string-from-compiled-regexp-pattern-in-python/1415943#1415943 –
Hice lo mismo, supuse que no era simple forma de conseguirlo :) – Anentropic
parece que en python3 dir (some_compiled_pattern) muestra los atributos, pero no en 2.7 –