How to print SRE_Pattern (regexp object) text for debugging purposes?

dmtr dchichkov at gmail.com
Thu Jun 17 17:42:50 EDT 2010


I need to print the regexp pattern text (SRE_Pattern object ) for
debugging purposes, is there any way to do it gracefully? I've came up
with the following hack, but it is rather crude... Is there an
official way to get the regexp pattern text?

>>> import re, pickle
>>> r = re.compile('^abc$', re.I)
>>> r
<_sre.SRE_Pattern object at 0xb7e6a330>

>>> ds = pickle.dumps(r)
>>> ds
"cre\n_compile\np0\n(S'^abc$'\np1\nI2\ntp2\nRp3\n."

>>> re.search("\n\(S'(.*)'\n", ds).group(1)
'^abc$'
>>>

-- Cheers, Dmitry



More information about the Python-list mailing list