strings.ReplaceRE
返回给定字符串,并把所有与正则表达式匹配的部分替换为替换模式。
指定正则表达式时,请使用原始的字符串字面量(反引号),而不要使用解释型字符串字面量(双引号),以简化语法:使用解释型字符串字面量时必须转义反斜杠。
Go 的正则表达式包实现的是 RE2 语法。大致来说,RE2 语法是 PCRE 所接受语法的一个子集,并且有若干注意事项。注意,不支持 RE2 的 \C 转义序列。
{{ $s := "a-b--c---d" }}
{{ replaceRE `(-{2,})` "-" $s }} → a-b-c-d用 LIMIT 参数限制替换次数:
{{ $s := "a-b--c---d" }}
{{ replaceRE `(-{2,})` "-" $s 1 }} → a-b-c---d在替换字符串中使用 $1、$2 等,可以插入正则表达式中各捕获组的内容:
{{ $s := "http://gohugo.io/docs" }}
{{ replaceRE "^https?://([^/]+).*" "$1" $s }} → gohugo.io