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

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

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

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

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

  • «^» — каретка, циркумфлекс или просто галочка. Начало строки;
  • «$» — знак доллара. Конец строки;
  • «.» — точка. Любой символ;
  • «*» – знак умножения, звездочка. Любое количество предыдущих символов;
  • «+» – плюс. 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».

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