2.6 KiB
title | linktitle | description | godocref | date | publishdate | lastmod | categories | menu | tags | ns | signature | workson | hugoversion | relatedfuncs | deprecated | aliases | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
findre | findRE | Returns a list of strings that match the regular expression. | 2017-02-01 | 2017-02-01 | 2017-02-01 |
|
|
|
|
false |
Returns a list of strings that match the regular expression. By default all matches will be included. The number of matches can be limitted 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 Golang'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 Golang's flavor, you can practice pattern matching in the browser at https://regex101.com/. {{% /note %}}