aboutsummaryrefslogtreecommitdiffhomepage
path: root/docs/content/en/functions/strings/FindRe.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/content/en/functions/strings/FindRe.md')
-rw-r--r--docs/content/en/functions/strings/FindRe.md41
1 files changed, 41 insertions, 0 deletions
diff --git a/docs/content/en/functions/strings/FindRe.md b/docs/content/en/functions/strings/FindRe.md
new file mode 100644
index 000000000..4a7811f3d
--- /dev/null
+++ b/docs/content/en/functions/strings/FindRe.md
@@ -0,0 +1,41 @@
+---
+title: strings.FindRE
+linkTitle: findRE
+description: Returns a slice of strings that match the regular expression.
+categories: [functions]
+keywords: []
+menu:
+ docs:
+ parent: functions
+function:
+ aliases: [findRE]
+ returnType: string
+ signatures: ['strings.FindRE PATTERN INPUT [LIMIT]']
+relatedFunctions:
+ - strings.FindRE
+ - strings.FindRESubmatch
+ - strings.Replace
+ - strings.ReplaceRE
+aliases: [/functions/findre]
+---
+By default, `findRE` finds all matches. You can limit the number of matches with an optional LIMIT argument.
+
+{{% readfile file="/functions/_common/regular-expressions.md" %}}
+
+This example returns a slice of all second level headings (`h2` elements) within the rendered `.Content`:
+
+```go-html-template
+{{ findRE `(?s)<h2.*?>.*?</h2>` .Content }}
+```
+
+The `s` flag causes `.` to match `\n` as well, allowing us to find an `h2` element that contains newlines.
+
+To limit the number of matches to one:
+
+```go-html-template
+{{ findRE `(?s)<h2.*?>.*?</h2>` .Content 1 }}
+```
+
+{{% note %}}
+You can write and test your regular expression using [regex101.com](https://regex101.com/). Be sure to select the Go flavor before you begin.
+{{% /note %}}