Справочные материалы. Синтаксис регулярных выражений

Регулярные выражения используются в модуле фильтров и на панели поиска, а также для дополнительного параметра DisableMatchingProperties. Этот раздел посвящен синтаксису регулярных выражений и соответствующим аббревиатурам.

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

Следующая таблица содержит метасимволы, использующиеся в качестве регулярных выражений.

Метасимвол Значение
. Соответствует любому одиночному символу.
[ ] Обозначает класс символов. Соответствует любому символу, указанному в этих скобках (например, [abc] соответствует "a", "b" или "c").
^ Если этот метасимвол стоит в начале класса символов, он обозначает отрицание этого класса. Отрицание класса соответствует любому символу, за исключением указанных в этих скобках (например, [^abc] соответствует всем символам, кроме "a", "b" и "c").

Если символ ^ стоит в начале регулярного выражения, он соответствует началу вводимой строки (например,^[abc] соответствует только введенным строкам, начинающимся с "a", "b" или "c").

- В классе символов обозначает диапазон символов (например, [0-9] соответствует цифрам от "0" до "9").
? Означает, что предшествующее выражение необязательно: соответствие может появиться один раз или ни одного раза (например, [0-9][0-9]? соответствует "2" и "12").
+ Означает, что соответствие предшествующему выражению может появиться один раз или несколько раз (например, [0-9]+ соответствует"1", "13", "456" и т.д.)
* Означает, что соответствие предшествующему выражению может не появиться ни разу или появиться несколько раз (например,
??, +?, *? Экономные версии ?, + и *. Выдают как можно меньшее соответствие, в отличие от жадных версий, выдающих как можно большее соответствие (например, для вводимой строки "<abc><def>" <.*?> соответствует"<abc>", а <.*> соответствует"<abc><def>").
( ) Оператор группировки. Пример (\d+,)*\d+ соответствует списку чисел, разделенных запятыми (например, "1" или "1,23,456").
{ } Обозначает группу соответствий.
\

Управляющий символ, означающий, что следующий символ надо понимать именно как символ (например, [0-9]+ соответствует одной или нескольким цифрам, а [0-9]\+ соответствует цифре, за которой идет знак плюс). Применяется также для аббревиатур (например, \a для любой буквы или цифры, см. следующую таблицу).

Если за знаком \ следует число n, он соответствует n-ной группе соответствия (их номера начинаются с 0). Пример <{.*?}>.*</\0> соответствует"<head>Contents</head>".

$ Если этот символ стоит в конце регулярного выражения, он означает конец введенной строки (например,[0-9]$ соответствует цифре в конце введенной строки).
| Оператор альтернативы: разделяет два выражения, из которых точное соответствие будет только для одного (например, T|the соответствует "The" или "the").
! Оператор отрицания: выражение, следующее за символом !, не должно соответствовать введенной строке (например, a!b соответствует "a", за которым не идет "b").

Аббревиатуры

Следующая таблица содержит список поддерживаемых аббревиатур, например, \d вместо [0-9].

Аббревиатура Соответствие
\a Любая буква или цифра: ([a-zA-Z0-9])
\b Пробел: ([ \\t])
\c Любая буква: ([a-zA-Z])
\d Любая десятичная цифра: ([0-9])
\h Любая шестнадцатеричная цифра: ([0-9a-fA-F])
\n Новая строка: (\r|(\r?\n))
\q Строка в кавычках: (\"[^\"]*\")|(\'[^\']*\')
\w Отдельное слово: ([a-zA-Z]+)
\z Целое число: ([0-9]+)