为什么这个正则表达式不起作用?
import re
i="<wx._controls.Button; proxy of <Swig Object of type 'wxButton *' at 0x2d040b0> >"
m = re.match("controls(.*)[;]", i)
if m:
print m.group(1)
它什么都不返回。我试图让一切介于两者之间,“控制”和“;” 此解决方案适用于其他测试用例,但不适用于此。
答案 0 :(得分:5)
re.match
仅匹配字符串的开头。你想要re.search
。
但是,您似乎正在评估对象上repr
的结果以获取类名。为什么不直接使用obj.__class__.__name__
?使用duck typing并避免特定于各个类的代码。
答案 1 :(得分:4)
.match()
从头开始。你想要.search()
。