我用regexp包来代替波纹文本
{% macro products_list(products) %}
{% for product in products %}
productsList
{% endfor %}
{% endmacro %}
Run Code Online (Sandbox Code Playgroud)
但我不能代替"产品"不替换像"products_list"另一个词和Golang没有像FUNC re.ReplaceAllStringSubmatch做子匹配代替(但只是FindAllStringSubmatch).我用re.ReplaceAllString替换了"产品".
{% macro ._list(.) %}
{% for product in . %}
.List
{% endfor %}
{% endmacro %}
Run Code Online (Sandbox Code Playgroud)
这不是我想要的,我需要以下结果:
{% macro products_list (.) %}
{% for product in . %}
productsList
{% endfor %}
{% endmacro %}
Run Code Online (Sandbox Code Playgroud) 我从golang.org 网站阅读了示例代码。本质上,代码如下所示:
re := regexp.MustCompile("a(x*)b")
fmt.Println(re.ReplaceAllString("-ab-axxb-", "T"))
fmt.Println(re.ReplaceAllString("-ab-axxb-", "$1"))
fmt.Println(re.ReplaceAllString("-ab-axxb-", "$1W"))
fmt.Println(re.ReplaceAllString("-ab-axxb-", "${1}W"))
Run Code Online (Sandbox Code Playgroud)
输出是这样的:
-T-T-
--xx-
---
-W-xxW-
Run Code Online (Sandbox Code Playgroud)
我理解第一个输出,但我不理解其余三个。有人可以向我解释结果 2,3 和 4。谢谢。