这是代码:
(?!cxdef\.)trimheader
我希望它匹配任何:'=trimheaderspace' or 'old.trimheader' or 'get trimheader()'
等...但 NOT" ... = cxdef.trimheaderspace()"
我不想要一个' cxdef。'在' trimheader'。
之前它看起来很简单,但代码不起作用。任何想法?
答案 0 :(得分:2)
您需要使用零宽度负向后视:
>>> def out_match(st):
... return st if re.search(r'(?<!cxdef\.)trimheader', st) else None
...
>>> out_match('=trimheaderspace')
'=trimheaderspace'
>>> out_match('cxdef.trimheaderspace()')
>>>
答案 1 :(得分:0)
我找到了我的问题的答案,这里是代码:
(?<!cxdef\.)trimheader
我只需在<
和?
之间添加!
即可获得负面反馈。除了&#c; cxdef.trimheader&#39;。