Sets the error buffer and returns -1 if the regex does not compile.
The returned result is the same as POSIX regex():
For example:
regex(lorem," \([A-Za-z]*\) \([A-Za-z]*\) ",maxMatches=3) => {" ipsum dolor ","ipsum","dolor"}
This means if you have n groups, you want maxMatches=n+1.
function regex input String str; input String re; input Integer maxMatches = 1 "The maximum number of matches that will be returned"; input Boolean extended = true "Use POSIX extended or regular syntax"; input Boolean caseInsensitive = false; output Integer numMatches "-1 is an error, 0 means no match, else returns a number 1..maxMatches"; output String matchedSubstrings[maxMatches] "unmatched strings are returned as empty"; end regex;