首页 > 解决方案 > 雨果的正则表达式捕获组

问题描述

最近我想将我的静态站点生成器Jekyll切换到 Hugo。我真的很喜欢Hugo,但不幸的是,某些功能的使用经常困扰我。


考虑下面的代码,

{{ $my_var := `id="demo"` }}
{{ $my_slice := (findRE `id=\"(.*)\"` $my_var 1) }}
{{ index $my_slice 0 }}

结果:

id="demo"

预期结果

demo

在上面的例子中,我想获取组的值。

请注意,真正需要的是获取组的常规表示,而不是其他功能的棘手使用(例如用空格替换id="类似的东西)

正则表达式测试网站:https ://regex101.com/

在此处输入图像描述

请帮助我,我真的花了很多时间搜索但仍然没有。我在Hugo-discourse中找到了一个有同样问题的人,但是已经一年了,仍然没有答案。

标签: regexhugohugo-shortcode

解决方案


最简单的方法是使用replaceRE$1您的组号在哪里。

{{ $my_var := `id="demo"` }}
{{ $result := replaceRE `id=\"(.*)\"` "$1" $my_var }}
{{ $result }} → "demo"

推荐阅读