我已经使用 regexp 包来替换下面的文本


{% macro products_list(products) %}

{% for product in products %}

productsList

{% endfor %}

{% endmacro %}

但是如果不替换“products_list”之类的其他词,我就无法替换“products”,而Golang没有像re.ReplaceAllStringSubmatch这样的函数来替换子匹配(只有FindAllStringSubmatch)。我使用re.ReplaceAllString将“产品”替换为 .


{% macro ._list(.) %}

{% for product in . %}

.List

{% endfor %}

{% endmacro %}

这不是我想要的,我需要以下结果:


{% macro products_list (.) %}

{% for product in . %}

productsList

{% endfor %}

{% endmacro %}