Regular expression engine.
Match semantics.
regexp_match ?sem r t i tries matching r and substrings
of t beginning from i. If match successes, Some g is
returned where g is the array containing the matched
string of n-th group in the n-element.
The matched string of the whole r is stored in the 0-th element.
If matching fails, None is returned.
string_match r t i tests whether r can match a substring
of t beginning from i.
search_forward ?sem r t i searches a substring of t
matching r from i. The returned value is similar to
URe.Type.regexp_match.