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

MRAB python at mrabarnett.plus.com
Thu Jun 17 18:35:17 EDT 2010


dmtr wrote:
> 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$'
> 

 >>> import re
 >>> r = re.compile('^abc$', re.I)
 >>> r.pattern
'^abc$'
 >>> r.flags
2




More information about the Python-list mailing list