strings.FindRE
By default, findRE
finds all matches. You can limit the number of matches with an optional LIMIT argument.
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 }}
You can write and test your regular expression using regex101.com. Be sure to select the Go flavor before you begin.