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

1.2 KiB

title linkTitle description categories keywords menu function relatedFunctions aliases
strings.FindRE findRE Returns a slice of strings that match the regular expression.
functions
docs
parent
functions
aliases returnType signatures
findRE
string
strings.FindRE PATTERN INPUT [LIMIT]
strings.FindRE
strings.FindRESubmatch
strings.Replace
strings.ReplaceRE
/functions/findre

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

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

This example returns a slice of all second level headings (h2 elements) within the rendered .Content:

{{ findRE `(?s)<h2.*?>.*?</h2>` .Content }}

The s flag causes . to match \n as well, allowing us to find an h2 element that contains newlines.

To limit the number of matches to one:

{{ findRE `(?s)<h2.*?>.*?</h2>` .Content 1 }}

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