Фигурные скобки в регулярках C#
Операторы "'+'", "'*'", "'?'"
хороши, однако, с их помощью нельзя указать
конкретное число повторений. В этом случае
вам на помощь придет оператор {}.
Работает он следующим образом: {5}
- пять повторений, {2,5} - повторяется
от двух до пяти (оба включительно), {2,}
- повторяется два и более раз. Посмотрите
примеры:
В данном примере шаблон поиска выглядит
так: буква "'x'", буква "'a'"
один или два раза, буква "'x'":
using System.Text.RegularExpressions;
string txt = "xx xax xaax xaaax";
string res = Regex.Replace(txt, @"xa{1,2}x", "!");
Console.WriteLine(res);
В данном примере шаблон поиска выглядит
так: буква "'x'", буква "'a'"
два раза и более, буква "'x'":
using System.Text.RegularExpressions;
string txt = "xx xax xaax xaaax";
string res = Regex.Replace(txt, @"xa{2,}x", "!");
Console.WriteLine(res);
В данном примере шаблон поиска выглядит
так: буква "'x'", буква "'a'"
три раза, буква "'x'":
using System.Text.RegularExpressions;
string txt = "xx xax xaax xaaax";
string res = Regex.Replace(txt, @"xa{3}x", "!");
Console.WriteLine(res);
В данном примере шаблон поиска выглядит
так: буква "'a'" десять раз:
using System.Text.RegularExpressions;
string txt = "aaa aaaaaaaaaa aaa";
string res = Regex.Replace(txt, @"a{10}", "!");
Console.WriteLine(res);
В данном примере есть такой шаблон: буква
"'x'", буква "'a'" три раза
и меньше, буква "'x'". Нижнюю
границу в C# пишут явно: ноль означает,
что повтора может не быть:
using System.Text.RegularExpressions;
string txt = "xx xax xaax xaaax";
string res = Regex.Replace(txt, @"xa{0,3}x", "!");
Console.WriteLine(res);
Дана строка:
string txt = "aa aba abba abbba abbbba abbbbba";
Напишите регулярку, которая найдет строки
"'abba'", "'abbba'", "'abbbba'"
и только их.
Дана строка:
string txt = "aa aba abba abbba abbbba abbbbba";
Напишите регулярку, которая найдет строки вида "'aba'", в которых "'b'" встречается не больше 3 раз.
Дана строка:
string txt = "aa aba abba abbba abbbba abbbbba";
Напишите регулярку, которая найдет строки вида "'aba'", в которых "'b'" встречается не меньше 4 раз.