Finds all matches of a regular expression in a string.
A list of matches is returned, where each match has the starting index (zero-based) of the matched substring and the substring itself. In the case of overlapping matches, only the leftmost match is considered. If the overlapping matches start at the same index, then the longest match is considered.
Arguments
Arguments | |
---|---|
source |
The source string to search. |
regexp |
The regular expression used for the search. Uses RE2 syntax. |
Returns
A list of maps, where each map represents a match. The
map has the keys index
and match
whose values are the starting
index (int
) of the substring and the substring itself (string
),
respectively. The list is sorted by the index
key. If no match is found,
an empty list is returned.
Raised exceptions
Exceptions | |
---|---|
TypeError |
If either source or regexp is not a string. |
ValueError |
If regexp is not UTF-8 encoded or is an invalid regular expression. |
Examples
# Find match of regular expression in string # Returns `[{"index":0,"match":"Hello"},{"index":5,"match":"World"}]` - returnStep: return: ${text.find_all_regex("HelloWorld", "Hello|World")}