我正在尝试调试脚本,并且我想要检查某个正则表达式。 (正则表达式作为参数从另一个脚本传递到我的程序中,所以我不能手动查找正则表达式。)在调试过程中我注意到有问题的正则表达式被加载到内存中,所以我看到像
<_sre.SRE_Pattern object at 0x000000000DB6E5D0>
我想访问该正则表达式对象,以便我可以确切地看到它正在做什么,但我似乎找不到在python中访问内存的方法。有谁知道怎么做?
答案 0 :(得分:1)
看起来你正试图直接打印正则表达式对象,按照这些方针:
>>> import re
>>> p = re.compile('my regex')
>>> print p
_sre.SRE_Pattern object at 0x02274380
您可以简单地将模式称为p.pattern
:
>>> p.pattern
'my regex'
答案 1 :(得分:0)
您可以使用pattern
属性访问正则表达式编译的模式:
>>> import re
>>> re.compile(r'^(.*)$')
>>> r = re.compile(r'^(.*)$')
>>> r
<_sre.SRE_Pattern object at 0x7fa384ce5918>
>>> r.pattern
'^(.*)$'