我希望找到并替换双括号内的字符串,包括方括号本身。
例如:
<a href="#">{{hello}}</a>
理想情况下应返回:
{{hello}}
我找到了这个表达式:{{(.*?)}}
这里
但是,这只会在括号之间返回文本。即。使用此表达式,上面的示例将返回:"hello"
,而不是"{{hello}}"
发布于 2016-02-18 15:46:28
您只需移动(
和)
,将方括号包含在组中即可。
试试:({{.*?}})
。对于这类工作,我强烈推荐使用regex测试仪。
发布于 2016-02-18 15:47:25
我假设您使用的是re.findall()
,它只返回捕获组的内容,如果它们存在于regex中。
因为您不想要它们,所以只需删除捕获括号:
matches = re.findall("{{.*?}}", mystring)
当使用re.sub()
替换时,最初的regex将运行得很好。
https://stackoverflow.com/questions/35485949
复制相似问题