{n}ровноn повторений; {n,m} от n до m повторений.
При задании квантификаторов для последовательности применяется груп-пирование c помощью круглых скобок.
Примеры простых шаблонов для поиска: семизначного номера телефона вида NNN-NN-NN:
[0-9]{3}-[0-9]{2}-[0-9]{2} или \d{3}-\d{2}-\d{2}; номера автомобиля (4 цифры, 2 буквы, дефис, цифра от 1 до 7):
\d{4}[AВЕIKMHOPCTX]{2}-[1-7]; Регулярные выражения в .NET реализуются несколькими классами прост- ранства имен System.Text.RegularExpressions. Основной класс Regex. Возмож- ны два способа обработки текста: 1) вызов статических методов класса Regex с передачей в качестве параметров исходной строки и шаблона; 2) создание объекта Regex с передачей шаблона в конструктор класса.
Некоторые методы класса Regex. IsMatch(str,reg) – поиск вхождения подстроки с шаблоном reg в строку str;Split(text) – разбиение текста text на массив строк по шаблону-разделителю; Match или Matches – извлечение из текста одного или всех вхождений.
Метод Match возвращает одноименный объект Match с информацией о сов- падении. Метод Matches возвращает коллекцию MatchCollection, в которую вхо- дят объекты Match для всех совпадений в проанализированном тексте.
Пример1
ПроверкателефонногономеравидаNNN-NN-NN.
Создадим проект сon181. Наберем код программы:
using System;
// подключаем пространство имен System.Text.RegularExpressions using System.Text.RegularExpressions; class Program
{ static void Main()
{ Console.WriteLine("Введите номер телефона"); String str= Console.ReadLine();
// создаем шаблон регулярного выражения
String reg = @"^\d{3}‐\d{2}‐\d{2}$";
// проверяем совпадение введенной строки с шаблоном
if (Regex.IsMatch(str, reg)) Console.WriteLine("{0} похоже", str);
else Console.WriteLine("{0} ошибка", str); Console.ReadKey();