Python正则表达式查找大括号的所有情况,包括括号

时间:2016-02-18 15:43:16

标签: python regex

我想在双花括号内查找和替换字符串,包括括号本身。

例如:

<a href="#">{{hello}}</a>

理想情况下应该返回:

{{hello}}

我找到了这个表达式:{{(.*?)}} here

但是,这只会在括号之间返回文本。 IE浏览器。使用此表达式,上面的示例将返回:"hello",而不是"{{hello}}"

2 个答案:

答案 0 :(得分:2)

您只需移动()即可在该群组中加入括号。

尝试:({{.*?}})。我强烈建议regex tester进行此类工作。

答案 1 :(得分:2)

我假设你正在使用re.findall(),它只返回捕获组的内容,如果它们存在于正则表达式中。

由于您不想要它们,只需删除捕获括号:

matches = re.findall("{{.*?}}", mystring)

使用re.sub()进行替换时,原始正则表达式可以正常工作。