Дано регулярное выражение: ^(Start\.)?(.+?)(\.|\.\2)?(End)?$
Тестовый ввод: Start.Word.WordEnd
Я получаю Word
для группы "2":

Однако, если я изменю регулярное выражение, добавив также имя для захваченной группы, я получу другой результат:
Регулярное выражение: ^(Start\.)?(?<capturedGroup>.+?)(\.|\.\2)?(End)?$
захваченная группа Word.Word

Это в .NET 4.7.2 (я также провел тест в https://dotnetfiddle.net/ с тем же результатом). Ссылки:
первый случай: https://dotnetfiddle.net/o33G6Y
второй случай: https://dotnetfiddle.net/4zJuaQ
Я проверил это в https://regex101.com/ (установлен как PHP), и я получил ожидаемый результат (оба Word
), поэтому я ожидаю, что это проблема .NET? Пожалуйста, помогите.