python re.search regex 搜索与 {{world}} 模式相符的单词

2024-04-26 14:45:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我在HTML文件中插入了自定义标记,如{{name}}{{surname}}。现在我想搜索与模式完全匹配的标记,比如{{world}},只是没有{world}}{{world}{world}{ word }{{ world }},等等。 我为

re.findall(r'\{(\w.+?)\}', html_string)

它返回遵循模式{world}},{world},{world}}}的单词 我不想要的。我想和{world}完全匹配。有人能给我指路吗?在


Tags: 文件name标记reworldstringhtml模式
3条回答

这个怎么样?在

re.findall('{{(\w+)}}', html_string)

或者,如果希望结果中包含大括号:

^{pr2}$

但是,如果您试图完成html模板,我建议您使用good template engine。在

这将不会匹配你的结果中的大括号,你想要吗?在

'\{\{(\w[^\{\}]+?)\}\}'

http://rubular.com/r/79YwR13MS0

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

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

好的,在评论之后,我更了解您的要求:

^{pr2}$

应该为你工作。在

基本上,您需要{{任何数量的单词字符,包括下划线}}。在本例中,您甚至不需要延迟匹配,所以可以删除表达式中的th ?。在

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

若要仅获取关键字而不获取{{}},请使用以下命令:

^{3}$

相关问题 更多 >