regex - 雨果的正则表达式捕获组
问题描述
最近我想将我的静态站点生成器从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中找到了一个有同样问题的人,但是已经一年了,仍然没有答案。
解决方案
最简单的方法是使用replaceRE
,$1
您的组号在哪里。
{{ $my_var := `id="demo"` }}
{{ $result := replaceRE `id=\"(.*)\"` "$1" $my_var }}
{{ $result }} → "demo"
推荐阅读
- laravel - Laravel 7 路由问题
- matlab - 如何在 MATLAB 中减少图像匹配代码的运行时间?
- android - 创建服务以在后台运行并创建通知
- android - 执行片段事务时,主屏幕有时会闪烁
- pandas - 熊猫在尝试传递变量时遇到关键错误
- python - Python 欺诈检测分类算法
- elixir - 如何编写与 Ecto 同时关联同一张表
- javascript - JavaScript/HTML 不显示现有数组
- jupyter-notebook - 如何在 jupyter notebook 中为 wget 提供密码
- sql - 在 select 语句中使用查询是否会为每一行执行该查询?