свернуть

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

Флаг:

Шаблон:

Текст:

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

Представление Символ Расшифровка
\t Табуляция Horizontal tabulation
\v Вертикальная табуляция Vertical tabulation
\r Возврат каретки Carriage return
\n Перевод строки Line feed
\f Конец страницы Form feed
\a Звонок Bell character
\e Escape-символ Escape character
\b Забой

Должен находиться внутри квадратных скобок (иначе интерпретируется как граница слова).

Backspace
\cA … \cZ Ctrl A … Ctrl Z

Например, последовательность \cM\cJ соответствует управляющим символам CR LF.

Эквивалентно \x01 … \x1A.

\d [0-9] Цифра
\D [^\d] Любой символ, кроме цифры
\w [A-Za-zА-Яа-я0-9_] Символы, образующие «слово» (буквы, цифры и символ подчёркивания)[1]
\W [^\w] Символы, не образующие «слово»
\s [ \t\v\r\n\f] Пробельный символ
\S [^\s] Непробельный символ

Символьные классы POSIX

POSIX-класс Эквивалент Значение
[:upper:] [A-Z] Символы верхнего регистра
[:lower:] [a-z] Символы нижнего регистра
[:alpha:] [[:upper:][:lower:]] Буквы
[:digit:] [0-9], т. е. \d Цифры
[:xdigit:] [[:digit:]A-Fa-f] Шестнадцатеричные цифры
[:alnum:] [[:alpha:][:digit:]] Буквы и цифры
[:word:] [[:alnum:]_], т. е. \w Символы, образующие «слово»
[:punct:] [-!"#$%&'()* ,./:;<=>?@[\\\]_`{|}~] Знаки пунктуации
[:blank:] [ \t] Пробел и табуляция
[:space:] [[:blank:]\v\r\n\f], т. е. \s Пробельные символы
[:cntrl:] [\x00-\x1F\x7F] Управляющие символы
[:graph:] [\x21-\x7E] Печатные символы
[:print:] [\x20-\x7E], т. е. [[:graph:] ] Печатные символы с пробелом

Позиция внутри строки

Представление Позиция Пример Соответствие
^ Начало строки ^a aaa aaa
$ Конец строки a$ aaa aaa
\b Граница слова a\b aaa aaa
\ba aaa aaa
\B Не граница слова \Ba\B aaa aaa
\G Предыдущий успешный поиск \Ga aaa aaa (поиск остановился на 4-й позиции — там, где не нашлось a)

Представление символов по их коду

Представление Пояснение Кодировка
\0n n — восьмеричное число от 0 до 377 8-битная
\xdd d — шестнадцатеричная цифра
\udddd 16-битная (Юникод)

Квантификация (поиск последовательностей)

Представление Число повторений Пример Соответствие
{n} Ровно n раз colou{3}r colouuur
{m,n} От m до n включительно colou{2,4}r colouur, colouuur, colouuuur
{m,} Не менее m colou{2,}r colouur, colouuur, colouuuur и т. д.
{,n} Не более n colou{,3}r color, colour, colouur, colouuur

 

Представление Число повторений Эквивалент Пример Соответствие
* Ноль или более {0,} colou*r color, colour и т. д.
+ Одно или более {1,} colou r colour, colouur и т. д. (но не color)
? Ноль или одно {0,1} colou?r color, colour

Перечисление

Вертикальная черта разделяет допустимые варианты. Например, gray|grey соответствует gray или grey. Следует помнить, что перебор вариантов выполняется слева направо, как они указаны.

Если требуется указать перечень вариантов внутри более сложного регулярного выражения, то его нужно заключить в группу. Например, gray|grey или gr(a|e)y описывают строку gray или grey. В случае с односимвольными альтернативами предпочтителен вариант gr[ae]y, так как сравнение с символьным классом выполняется проще, чем обработка группы с проверкой на все её возможные модификаторы и генерацией обратной связи.

оригинал статьи wiki