DESIGN SYSTEM

  • Principles
  • Components
  • Documentation
FUNCTIONS

findRE

Returns a list of strings that match the regular expression.

Syntax

findRE PATTERN INPUT [LIMIT]

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>"] -->

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/.

See Also

  • replaceRE
  • Foundation styles (FS)
  • Content text (CT)
  • Buttons and links (BL)
  • Form elements (FE)
  • Icons (IC)
  • Miscellaneous (MS)
“findRE” was last updated: January 29, 2019: A little bit of naming reorganisation (8fb631a0)
Improve this page
By the Hugo Authors
Hugo Logo
  • File an Issue
  • Get Help
  • Discuss Source Code
  • @GoHugoIO
  • @spf13
  • @bepsays

 
  Hugo Sponsors
Logo for Forestry.io
Logo for Linode
Logo for eSolia
 

The Hugo logos are copyright © Steve Francia 2013–2019.

The Hugo Gopher is based on an original work by Renée French.

  • Principles
  • Components
  • Documentation
  • Foundation styles (FS)
  • Content text (CT)
  • Buttons and links (BL)
  • Form elements (FE)
  • Icons (IC)
  • Miscellaneous (MS)