Standard Library
struct Group
One capture group of a match: whether it took part, and where and what it matched.
since 0.1.0-alpha.1linuxwindowswasm
Overview
A group that did not take part in a successful match (for example the arm of an alternation that was not taken) is a normal state, not an error: matched is false, index is -1, length is 0 and value is "".
Examples
A group that did not take part
Match? n = regex::find("b", r"(a+)|(b+)");
if (n != None) {
Group g1 = n.group(1);
Group g2 = n.group(2);
console.writeln("${g1.matched} ${g1.index} ${g1.length} [${g1.value}]");
console.writeln("${g2.matched} ${g2.index} ${g2.length} [${g2.value}]");
}
false -1 0 []
true 0 1 [b]
Fields
index
int indexByte offset of the group text in the searched string, or -1 when the group did not take part.
length
int lengthLength of the group text in bytes, or 0 when the group did not take part.
matched
bool matchedtrue when the group took part in the match.
value
string valueThe text the group matched, or "" when the group did not take part.
See also
- Match — A successful match: where it is, what it matched, and its capture groups.