Skip to main content
 首页 » 编程设计

python re.search(正则表达式)只搜索具有 {{world}} 模式的单词

2025年05月04日23dudu

我在 HTML 文件中插入了自定义标签,如 {{name}}、{{surname}}。现在我想搜索与 {{world}} 这样的模式完全匹配的标签,甚至连 {world}}、{{world}、{world}、{word}、{{world}}等。 我为

编写了小代码
re.findall(r'\{(\w.+?)\}', html_string) 

它返回遵循 {{world}} ,{world},{world}} 模式的单词 我不想要的。我想完全匹配 {{world}}。有人可以指导我吗?

请您参考如下方法:

嗯,正则表达式不应该是:

'\{\{(\w.+?)\}\}' 

好的,评论之后,我更明白你的要求了:

'\{\{\w+?\}\}' 

应该适合你。

基本上,您需要{{任意 n 个单词字符,包括下划线}}。实际上,在这种情况下您甚至不需要惰性匹配,因此您可以删除表达式中的 ?。

像 {{keyword1}} other stuff {{keyword2}} 这样的东西现在不会作为一个整体匹配。

要仅获取关键字而不获取 {{}},请使用以下方法:

'(?<=\{\{)\w+?(?=\}\})'