hugo/docs/content/en/functions/replacere.md
2023-08-07 10:38:12 +02:00

1.4 KiB

title description categories menu keywords signature relatedfuncs
replaceRE Returns a string, replacing all occurrences of a regular expression with a replacement pattern.
functions
docs
parent
functions
regex
replaceRE PATTERN REPLACEMENT INPUT [LIMIT]
strings.ReplaceRE PATTERN REPLACEMENT INPUT [LIMIT]
findRE
FindRESubmatch
replace

By default, replaceRE replaces all matches. You can limit the number of matches with an optional LIMIT parameter.

{{% readfile file="/functions/common/regular-expressions.md" %}}

This example replaces two or more consecutive hyphens with a single hyphen:

{{ $s := "a-b--c---d" }}
{{ replaceRE `(-{2,})` "-" $s }} → a-b-c-d

To limit the number of replacements to one:

{{ $s := "a-b--c---d" }}
{{ replaceRE `(-{2,})` "-" $s 1 }} → a-b-c---d

You can use $1, $2, etc. within the replacement string to insert the groups captured within the regular expression:

{{ $s := "http://gohugo.io/docs" }}
{{ replaceRE "^https?://([^/]+).*" "$1" $s }} → gohugo.io

{{% note %}} You can write and test your regular expression using regex101.com. Be sure to select the Go flavor before you begin. {{% /note %}}