501c6e233 Remoe speakerdeck example 9529bd27d Fix typos 530f22cd3 Remove language assuming knowledge of GitHub OAuth c618809e7 Refer to Go by its proper name, not its domain name 06e23168b Add timeout parameter to configuration docs 034fa62a7 Update shortcodes.md 10ea79335 Document .Ordinal on shortcode 0bfd85fb9 Formatting e44f80fdf Release 0.41 76164258c releaser: Add release notes to /docs for release of 0.41 8d87505eb releaser: Bump versions for release of 0.41 2bbc003ee docs: Document the GDPR Privacy Config e2d11564d Merge commit 'd2b1030060d3c91d5f9ffa3456418da16bd74f1d' git-subtree-dir: docs git-subtree-split: 501c6e23370fae21e2110e0d7ea0db6731b31779
1.5 KiB
title | description | godocref | 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 |
|
|
|
|
false |
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 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 %}}