Result of a successful CaptureMatcher.matchWhole call: the spans captured by every numbered/named group in the pattern (see Regex.Group). Group 0 is always present and always spans the whole input, exactly like java.util.regex.Matcher.group(0).
The span (start, end) captured by group index, or None if that group never participated in the match - e.g. it sits in an alternative branch that wasn't taken, or inside a */{0,n} repetition that ran zero times. Distinct from Some((p, p)), which means the group did participate but captured zero characters (e.g. (a?) matching "") - see Regex.Group's own doc comment for why this distinction matters.
The span (start, end) captured by group index, or None if that group never participated in the match - e.g. it sits in an alternative branch that wasn't taken, or inside a */{0,n} repetition that ran zero times. Distinct from Some((p, p)), which means the group did participate but captured zero characters (e.g. (a?) matching "") - see Regex.Group's own doc comment for why this distinction matters.