Regexp
The Regexp registry includes functions for pattern matching and string manipulation using regular expressions, providing powerful text processing capabilities.
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"{{ "hello world" | mustRegexFind "hello" }} // Output: "hello", nil
{{ "hello world" | mustRegexFind "\invalid$^///" }} // Output: "", errorregexFindAll / 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"]{{ mustRegexFindAll "a.", "aba acada afa", 3 }} // Output: ["ab", "ac", "af"], nil
{{ mustRegexFindAll "\invalid$^///", "aba acada afa", 3 }} // Output: "", errorregexMatch / 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{{ mustRegexMatch "^[a-zA-Z]+$", "Hello" }} // Output: true, nil
{{ mustRegexMatch "\invalid$^///", "Hello" }} // Output: false, errorregexSplit / 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"]{{ mustRegexSplit "\\s+", "hello world from Go", 2 }} // Output: ["hello", "world from Go"], nil
{{ mustRegexSplit "\invalid$^///", "hello world from Go", 2 }} // Output: [], errorregexReplaceAll / 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"{{ mustRegexReplaceAll "\\d", "R2D2 C3PO", "X" }} // Output: "RXDX CXPO", nil
{{ mustRegexReplaceAll "\invalid$^///", "R2D2 C3PO", "X" }} // Output: "", errorregexReplaceAllLiteral / 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$&"{{ mustRegexReplaceAllLiteral "world", "hello world", "$1" }} // Output: "hello $1", nil
{{ mustRegexReplaceAllLiteral "world", "hello world", "\invalid$^///" }} // Output: "", errorregexQuoteMeta
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) stringMust version
❌
{{ regexQuoteMeta ".+*?^$()[]{}|" }} // Output: "\.\+\*\?\^\$\(\)\[\]\{\}\|"Last updated