Язык регулярных выражений

Управляющие символы 

\ * + ? | { [ ( ) ^ $ . # 

Имеют особый смысл в регулярном выражении Экранируются символом \.

Опции регулярных выражений

В следующей таблице показана часть информации о перечислении RegexOptions, экземпляр которого можно передать конструктору класса RegEx:

Структура перечисления RegexOptions
ЧленОписание
CultureInvariantПредписывает игнорировать национальные установки строки
ExplicitCaptureМодифицирует способ поиска соответствия, обеспечивая только буквальное соответствие
IgnoreCaseИгнорирует регистр символов во входной строке
IgnorePatternWhitespaceУдаляет из строки не защищенные управляющими символами пробелы и разрешает комментарии, начинающиеся со знака фунта или хеша
MultilineИзменяет значение символов ^ и $ так, что они применяются к началу и концу каждой строки, а не только к началу и концу всего входного текста
RightToLeftПредписывает читать входную строку справа налево вместо направления по умолчанию — слева направо (что удобно для некоторых азиатских и других языков, которые читаются в таком направлении)
SinglelineСпецифицирует однострочный режим, в котором точка (.) символизирует соответствие любому символу


Пример использования:

string s = "AБракадабРА";
var matches = Regex.Matches(s, "бра", RegexOptions.IgnoreCase);

Квантификаторы

  • * - 0 или более повторений;
  •  + - 1 или более повторений;
  •  ? - 0 или 1 повторение;
  •  {N} - ровно N повторений;
  •  {N,} - не менее N повторений;
  •  {N,M} - от N до M повторений;

 Директивы нулевой длины

  • ^ - начало строки;
  • $ - конец строки;
  • \b - позиция на границе слова;

Классы символов

  • [abcd] - один из символов, указанных в списке;
  • [^abcd] - любой из символов, кроме тех, которые указаны в списке;
  • [a-d] - один из символов, лежащих в указанном диапазоне;
  • [^a-d] - любой из символов, кроме тех, которые лежат в указанном диапазоне;
  • \d - десятичная цифра: [0-9];
  • \D - любой символ, кроме десятичной цифры;
  • \w - буква, цифра или символ подчеркивания;
  •  \W - любой символ, не являющийся словообразующим;
  • \s - пробельный символ, т. е. [ \t\r\n];
  • \S - любой непробельный символ; . - любой символ
Смотрите также:

Использование регулярных выражений в C#
Регулярные выражения
Regex Class
Последнее изменение: Wednesday, 20 March 2019, 14:19