Именованные группы в C#
В C# группе можно дать имя прямо в шаблоне:
(?<имя>...). После успешного поиска
значение такой группы читают из Groups
по этому имени:
using System.Text.RegularExpressions;
string txt = "123 456";
Match match = Regex.Match(txt, @"(?<num1>\d+)\s(?<num2>\d+)");
Console.WriteLine(match.Groups["num1"].Value);
Console.WriteLine(match.Groups["num2"].Value);
Имена помогают не считать номера групп вручную. Это особенно удобно в длинных шаблонах, где после добавления новых скобок номера могут сдвинуться.
Дана строка со временем:
string txt = "12:59:59";
Разложите часы, минуты и секунды по именованным группам и выведите их.
Дана строка:
string txt = "aaa bbb 123 456";
Положите подстроки "aaa" и "bbb" в отдельные именованные группы и выведите их.