Regexp

The Regexp registry includes functions for pattern matching and string manipulation using regular expressions, providing powerful text processing capabilities.

You can easily import all the functions from the regexp registry by including the following import statement in your code

import "github.com/go-sprout/sprout/registry/regexp"

regexFind / mustRegexFind

The function returns the first match found in the string that corresponds to the specified regular expression pattern.

Signature

RegexFind(regex string, s string) string
MustRegexFind(regex string, s string) (string, error)

Must version

{{ regexFind "a(b+)" "aaabbb" }} // Output: "abbb"

regexFindAll / mustRegexFindAll

The function returns all matches of the regex pattern in the string, up to a specified maximum number of matches (n).

Signature

RegexFindAll(regex string, s string, n int) []string
MustRegexFindAll(regex string, s string, n int) ([]string, error)

Must version

{{ regexFindAll "a(b+)" "ababab" 2 }} // Output: ["ab", "ab"]

regexMatch / mustRegexMatch

The function checks if the entire string matches the given regular expression pattern.

Signature

RegexMatch(regex string, s string) bool
MustRegexMatch(regex string, s string) (bool, error)

Must version

{{ regexMatch "^[a-zA-Z]+$" "Hello" }} // Output: true

regexSplit / mustRegexSplit

The function splits the string into substrings based on matches of the regex pattern, performing the split up to n times.

Signature

RegexSplit(regex string, s string, n int) []string
MustRegexSplit(regex string, s string, n int) ([]string, error)

Must version

{{regexSplit "\\s+" "hello world" -1 }} // Output: ["hello", "world"]

regexReplaceAll / mustRegexReplaceAll

The function replaces all occurrences of the regex pattern in the string with the specified replacement string.

Signature

RegexReplaceAll(regex string, s string, repl string) string
MustRegexReplaceAll(regex string, s string, repl string) (string, error)

Must version

{{ regexReplaceAll "[aeiou]" "hello" "i" }} // Output: "hillo"

regexReplaceAllLiteral / mustRegexReplaceAllLiteral

The function replaces all occurrences of the regex pattern in the string with the specified literal replacement string, without interpreting any special characters in the replacement.

Signature

RegexReplaceAllLiteral(regex string, s string, repl string) string
MustRegexReplaceAllLiteral(regex string, s string, repl string) (string, error)

Must version

{{ regexReplaceAllLiteral "[aeiou]" "hello" "$&" }} // Output: "h$&ll$&"

regexQuoteMeta

The function returns a version of the provided string that can be used as a literal pattern in a regular expression, escaping any special characters.

Signature

RegexQuoteMeta(str string) string

Must version

{{ regexQuoteMeta ".+*?^$()[]{}|" }} // Output: "\.\+\*\?\^\$\(\)\[\]\{\}\|"

Last updated

#18: v0.5 loaders with handlers and registries

Change request updated