Квантификаторы
* - ноль и более, + - одно
и более, ? - ноль или одно.
{n} и {n,m} задают точное
число повторений. По умолчанию квантификаторы
жадные. Короткий вариант - в
ленивых
*? и +?.
Синтаксис
Regex.IsMatch(text, @"a+");
Regex.IsMatch(text, @"\d{2,4}");
Пример
Давайте найдём повтор a+:
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
var m = Regex.Match("aaabc", @"a+");
Console.WriteLine(m.Value);
}
}
Результат выполнения кода:
"aaa"
Пример
Давайте взять ровно три цифры \d{3}:
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
var m = Regex.Match("12345", @"\d{3}");
Console.WriteLine(m.Value);
}
}
Результат выполнения кода:
"123"
Пример
Давайте проверить необязательный символ b?:
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
bool a = Regex.IsMatch("ac", @"ab?c");
bool b = Regex.IsMatch("abc", @"ab?c");
Console.WriteLine(a + " " + b);
}
}
Результат выполнения кода:
True True
Смотрите также
-
ленивый квантификатор,
*? и +? -
группа,
повтор целого фрагмента -
цифра,
часто с + -
Regex,
класс поиска