ngroups:long()
returns the number of subexpressions from the last successful use of the =~ regex matching operator.
Note that this number includes subexpressions which are present in the regex but did not match any string; for example, given the regex "a|(b)", the subexpressions will count the group for (b) regardless of whether it matched a string or not. Throws an error if the last use of =~ was a failed match.