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