Группирующие скобки в регулярках C#
В предыдущих примерах операторы повторения действовали только на один символ, который стоял перед ними. Что делать, если нужно подействовать им на несколько символов?
Для этого существуют группирующие скобки
"'('" и "')'". Они работают так:
если что-то стоит в группирующих скобках
и сразу после "')'" стоит оператор
повторения - он подействует на все, что
стоит внутри скобок.
В следующем примере шаблон поиска выглядит
так: буква "'x'", далее строка
"'ab'" один или более раз, потом буква
"'x'":
using System.Text.RegularExpressions;
string txt = "xabx xababx xaabbx";
string res = Regex.Replace(txt, @"x(ab)+x", "!");
Console.WriteLine(res);
Дана строка:
string txt = "ab abab abab abababab abea";
Напишите регулярку, которая найдет строки
по шаблону: строка "'ab'" повторяется
1 или более раз.