Get the result of the last call to string_match
(Integer_Type, Integer_Type) = string_match_nth(Integer_Type nth)
The string_match_nth
function returns two integers describing
the result of the last call to string_match
. It returns both
the offset into the string and the length of characters matches by
the nth
submatch.
By convention, nth
equal to zero means the entire match.
Otherwise, nth
must be an integer with a value 1 through 9,
and refers to the set of characters matched by the nth
regular
expression enclosed by the pairs \(, \)
.
Consider:
variable matched, pos, len;
matched = string_match("hello world", "\\([a-z]+\\) \\([a-z]+\\)", 1);
if (matched) (pos, len) = string_match_nth(2);
This will set matched
to 1 since a match will be found at the
first position, pos
to 6 since w
is offset 6 characters
from the beginning of the string, and len
to 5 since
"world"
is 5 characters long.
The position offset is not affected by the value of the offset
parameter to the string_match
function. For example, if the
value of the last parameter to the string_match
function had
been 3, pos
would still have been set to 6.
Note also that string_match_nth
returns the offset from
the beginning of the string and not the position of the match.
string_match