hugo/docs/content/en/functions/findRe.md
2021-10-31 13:53:55 +01:00

1.5 KiB

title description date publishdate lastmod categories menu keywords signature workson hugoversion relatedfuncs deprecated aliases
findRE Returns a list of strings that match the regular expression. 2017-02-01 2017-02-01 2017-02-01
functions
docs
parent
functions
regex
findRE PATTERN INPUT [LIMIT]
false

By default all matches will be included. The number of matches can be limited with an optional third parameter.

The example below returns a list of all second level headers (<h2>) in the content:

{{ findRE "<h2.*?>(.|\n)*?</h2>" .Content }}

You can limit the number of matches in the list with a third parameter. The following example shows how to limit the returned value to just one match (or none, if there are no matched substrings):

{{ findRE "<h2.*?>(.|\n)*?</h2>" .Content 1 }}
    <!-- returns ["<h2 id="#foo">Foo</h2>"] -->

{{% note %}} Hugo uses Go's Regular Expression package, which is the same general syntax used by Perl, Python, and other languages but with a few minor differences for those coming from a background in PCRE. For a full syntax listing, see the GitHub wiki for re2.

If you are just learning RegEx, or at least Go's flavor, you can practice pattern matching in the browser at https://regex101.com/. {{% /note %}}