Класс Regex
Тип Regex в
System.Text.RegularExpressions
хранит скомпилированный шаблон. Его создают
через new Regex(pattern) или вызывают
статические методы вроде
IsMatch
без экземпляра. Один объект Regex
удобно переиспользовать для многих строк.
Флаги задают через
RegexOptions.
Синтаксис
var regex = new Regex(@"шаблон");
bool ok = Regex.IsMatch("abcde", @"шаблон");
Пример
Давайте создадим экземпляр и проверим строку
через
IsMatch:
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
var regex = new Regex(@"abc");
bool res = regex.IsMatch("abcde");
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Пример
Давайте переиспользуем один Regex
для двух строк:
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
var regex = new Regex(@"\d+");
Console.WriteLine(regex.IsMatch("12345"));
Console.WriteLine(regex.IsMatch("abcde"));
}
}
Результат выполнения кода:
True
False
Пример
Давайте вызовем статический
Match
без сохранения экземпляра:
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
var match = Regex.Match("abcde", @"bcd");
Console.WriteLine(match.Value);
}
}
Результат выполнения кода:
"bcd"
Смотрите также
-
метод
IsMatch,
который проверяет наличие совпадения -
метод
Replace,
который подставляет текст вместо совпадений -
цифра,
которую часто ищут шаблоном \d -
RegexParseException,
которое бросают при ошибке в шаблоне