Пример использования можно посмотреть тут: Парсер csv-файла
Представление | Символ | Расшифровка |
---|---|---|
\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-класс | Эквивалент | Значение |
---|---|---|
[: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, так как сравнение с символьным классом выполняется проще, чем обработка группы с проверкой на все её возможные модификаторы и генерацией обратной связи.