Given
var re = new Regex(@"(?<name>\w+)(x)\1\2");
Console.WriteLine(re.IsMatch("yxxy"));
Prints True, it appears unnamed capturing groups are numbered starting with 1, and then named capturing groups are assigned numbers afterwords. Is this correct/intended behaviour?