Регулярные выражения

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

Спец символы:  «[ ] \ / ^ $ . | ? * + ( ) { }»

Если эти символы нужно представить в качестве символов текста, их следует экранировать обратной косой чертой «\».

Значения символов в регулярных выражениях:

  • «^» — каретка, циркумфлекс или просто галочка. Начало строки;
  • «$» — знак доллара. Конец строки;
  • «.» — точка. Любой символ;
  • «*» – знак умножения, звездочка. Любое количество предыдущих символов;
  • «+» – плюс. 1 или более предыдущих символов;
  • «?» – вопросительный знак. 0 или 1 предыдущих символов;
  • «( )» – круглые скобки. Группировка конструкций;
  • «|» – вертикальная линия. Оператор «ИЛИ»;
  • «[ ]» – квадратные скобки. Любой из перечисленных символов, диапазон. Если первый символ в этой конструкции – «^», то массив работает наоборот – проверяемый символ не должен совпадать с тем, что перечислено в скобках;
  • «{ }» – фигурные скобки. Повторение символа несколько раз;
  • «\» – обратный слеш. Экранирование служебных символов.

Специальные метасимволы:

  • \b — обозначает не символ, а границу между символами;
  • \d — цифровой символ;
  • \D — нецифровой символ;
  • \s — пробельный символ;
  • \S — непробельный символ;
  • \w — буквенный или цифровой символ или знак подчеркивания;
  • \W — любой символ, кроме буквенного или цифрового символа или знака подчеркивания.

В каких редакторах можно попробовать отборы с помощью регулярных выражений: 

Примеры:

ЦельВыражениеПример
Соответствует любому одиночному символу, кроме разрыва строки Дополнительные сведения см. в разделе Любой символ..a.o совпадает с «ато» в слове «каток» и «aзo» в слове «азот», но не с «арто» в слове «картон»
Соответствует нулю или большему числу вхождений предыдущего выражения (совпадение с максимальным числом символов). Дополнительные сведения см. в разделе Совпадение ноль или несколько раз: *.*a*r совпадает с «в» в слове «винт» и «ав» в слове «авто».
Соответствует любому б*c.*e
Соответствует одному или большему числу вхождений предыдущего выражения (совпадение с максимальным числом символов) Дополнительные сведения см. в разделе Совпадение один или несколько раз: +.+e+d совпадает с "eed" в "feeder" и с "ed" в "faded".
Сопоставление любого символа один или более раз..+e.+e совпадает с "eede" в "feeder", но в "feed" совпадения отсутствуют.
Соответствует нулю или большему числу вхождений предыдущего выражения (совпадение с минимальным числом символов) Дополнительные сведения см. в разделе Совпадение ноль или несколько раз (ленивое совпадение): *?.*?\w*?d совпадает с "fad" и "ed" в "faded", но не со всем словом "faded", так как проверяется соответствие с минимальным числом символов.
Соответствует одному или большему числу вхождений предыдущего выражения (совпадение с минимальным числом символов) Дополнительные сведения см. в разделе Совпадение один или несколько раз (ленивое совпадение): +?.+?e\w+? совпадает с "ee" в "asleep" и с "ed" в "faded", но в "fade" совпадения отсутствуют.
Привязывает сопоставляемую строку к началу строки.^^car совпадает с такими словами, как "продажа" и "процесс", только если они находятся в начале строки
Привязывает сопоставляемую строку к концу строки.\r?$car\r?$ совпадает со словом "car", только если оно находится в конце строки.
Соответствует вхождению, только если оно находится в конце файла$car$ совпадает со словом "car", только если оно находится в конце файла.
Соответствует любому отдельному символу в наборе[abc]b[abc] совпадает с "ба", "бб" и "бв"
Соответствует любому символу в диапазоне символов[а-е]be[n-t] совпадает с "bet" в слове "between", с "ben" в слове "beneath" и с "bes" в слове "beside", но в слове "below" совпадения отсутствуют.
Запись и неявная нумерация выражения в скобках()([a-z])X\1 совпадает с "аХа" и "бХб", но не с "аХб". "\1" относится к первой группе выражения "[а–я]". Дополнительные сведения см. в разделе Группы записи и шаблоны замены.
Признание соответствия недействительным(?!абв)real(?!ity) совпадает со словами "реальный" и "реальность", но не со словом "реальная". Кроме того, находит второй элемент "реальн" (но не первый "реальн") в "реальнаяреальность".
Соответствует любому символу, не входящему в указанный набор. Дополнительные сведения см. в разделе Отрицательная группа символов.[^абв]be[^n-t] совпадает с "bef" в слове "before", с "beh" в слове "behind" и с "bel" в слове "below", но в слове "beneath" совпадения отсутствуют.
Совпадает с выражением до или после символа.|(sponge|mud) bath совпадает со строками "хвойный лес" и "лиственный лес"
Экранирует символ, указанный за обратной косой чертой.\\^ соответствует символу ^
Определяет количество вхождений предыдущего символа или группы. Дополнительные сведения см. в разделе Совпадение ровно n раз: {n}.{n}, где n обозначает число вхождений.x(ab){2}x совпадает с "xababx"
x(ab){2,3}x совпадает с "xababx" и "xabababx", но не "xababababx"
Сопоставление текста в категории Юникода. Дополнительные сведения о классах символов Юникода, см. в документе о свойствах символов в стандарте Юникода 5.2.\p{X}, где "X" — число из Юникода.\p{Lu} совпадает с "T" и "D" в "Thoma Doe"
Соответствует границе слова\b (вне класса символов \b определяет границу слова, а внутри класса \b символов определяет стирание назад)\bin совпадает с "in" в "inside", но в "pinto" совпадения отсутствуют.
Соответствует разрыву строки (то есть возврату каретки с последующим символом новой строки).\r?\nEnd\r?\nBegin совпадает со словами "Конец" и "Начало", только если "Конец" является последним словом в строке, а "Начало" — первым словом в следующей строке
Соответствует любому алфавитно-цифровому знаку.\wa\wd совпадает с "акт" и "а1т", но не с "а т"
Соответствует любому символу пробела.\sPublic\sInterface совпадает с фразой "Открытый интерфейс"
Соответствует любому символу десятичной цифры\d\d совпадает с "4" и "0" в "wd40".
Раздел: IT

Добавить комментарий