Синтаксис регулярных выражений

Регулярное выражение на C# задается строковой константой. Это может быть обычная или @-константа. Чаще всего, следует использовать именно @-константу. Дело в том, что символ "\" широко применяется в регулярных выражениях как для записи escape-последовательностей, так и в других ситуациях. В С# работа с регулярными выражениями выглядит следующим образом:

Regex re = new Regex("образец", "опции");

MatchCollection me = re.Matches("строка для поиска");

iCountMatchs = me.Count;

re — это объект типа Regex. В конструкторе ему передается образец поиска и опции. Ниже представлена таблица, задающая различные варианты поиска.

 

Таблица 1.8 - Символы, используемые в регулярных выражениях

Символ Интерпретация
  Категория: escape-последовательности
\b При использовании его в квадратных скобках соответствует символу "обратная косая черта" с кодом - \u0008
\t Соответствует символу табуляции \u0009
\r Соответствует символу возврата каретки \u000D
\n Соответствует символу новой строки \u000A
\e Соответствует символу escape \u001B
\040 Соответствует символу ASCII, заданному кодом до трех цифр в восьмеричной системе
\x20 Соответствует символу ASCII, заданному кодом из двух цифр в шестнадцатиричной системе
\u0020 Соответствует символу Unicode, заданному кодом из четырех цифр в шестнадцатиричной системе
  Категория: подмножества (классы) символов
. Соответствует любому символу, за исключением символа конца строки
[aeiou] Соответствует любому символу из множества, заданного в квадратных скобках
[^aeiou] Отрицание. Соответствует любому символу, за исключением символов, заданных в квадратных скобках
[0-9a-fA-F] Задание диапазона символов, упорядоченных по коду. Так, 0-9 задает любую цифру
\w Множество символов, используемых при задании идентификаторов - большие и малые символы латиницы, цифры и знак подчеркивания
\s Соответствует символам белого пробела
\d Соответствует любому символу из множества цифр
  Категория: Операции (модификаторы)
* Итерация. Задает ноль или более соответствий; например, \w* или (abc)*. Аналогично, {0,}
+ Положительная итерация. Задает одно или более соответствий; например, \w+ или (abc)+. Аналогично, {1,}
? Задает ноль или одно соответствие; например, \w? или (abc)?. Аналогично, {0,1}
{n} Задает в точности n соответствий; например, \w{2}
{n,} Задает, по меньшей мере, n соответствий; например, (abc){2,}
{n,m} Задает, по меньшей мере, n, но не более m соответствий; например, (abc){2,5}
  Категория: Группирование
(?<Name>) При обнаружении соответствия выражению, заданному в круглых скобках, создается именованная группа, которой дается имя Name. Например, (?<tel> \d{7}). При обнаружении последовательности из семи цифр будет создана группа с именем tel
() Круглые скобки разбивают регулярное выражение на группы. Для каждого подвыражения, заключенного в круглые скобки, создается группа, автоматически получающая номер.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: