hugo/docs/content/en/functions/strings/ReplaceRE.md
2023-10-20 09:43:56 +02:00

1.5 KiB

title linkTitle description categories keywords menu function relatedFunctions aliases
strings.ReplaceRE replaceRE Returns a string, replacing all occurrences of a regular expression with a replacement pattern.
functions
docs
parent
functions
aliases returnType signatures
replaceRE
string
strings.ReplaceRE PATTERN REPLACEMENT INPUT [LIMIT]
strings.FindRE
strings.FindRESubmatch
strings.Replace
strings.ReplaceRE
/functions/replacere

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

{{% 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 %}}