2016-02-18 105 views
2

我想要在双大括号中查找和替换字符串,包括括号本身。Python正则表达式来查找所有大括号的大括号,包括括号

例如:

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

最好应返回:

{{hello}} 

我发现这个表达式:{{(.*?)}}here

然而,这只是返回文本之间的支架。 IE浏览器。有了这个表达式,上面的例子将返回:"hello",而不是"{{hello}}"

+0

这个输入HTML从哪里来,为什么你需要双花括号中的元素文本?谢谢。 – alecxe

回答

2

你可以只移动()包括集团内部的支架。

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

+0

正是我需要的。谢谢! –

2

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

既然你不想让他们,只是删除捕获括号:

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

当使用re.sub()更换,原正则表达式将工作得很好。

相关问题