说我想匹配:
r'(?P<as>a+)'
如何使用正则表达式语法忽略花括号之间的所有匹配:
"{aabaa} a" #I just want the last 'a' matched
答案 0 :(得分:0)
正则表达式不适合不匹配。但你可以使用像:
这样的技巧a+(?![^{}]*})
但如果存在不平衡{}
,则无法使用。
答案 1 :(得分:0)
一个选项可能是在运行正则表达式之前删除大括号内的内容。
>>> pat = r'(?P<as>a+)'
>>> string = "{aabaa} a"
>>> m = re.search(pat, re.sub(r'\{.*?\}', '', string))
>>> m.group('as')
'a'