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

Якоря

НаименованиеОписание
^Начало строки +
\AНачало текста +
$Конец строки +
\ZКонец текста +
\bГраница слова +
\BНе граница слова +
\<Начало слова
\>Конец слова

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

НаименованиеОписание
\cУправляющий символ
\sПробел
\SНе пробел
\dЦифра
\DНе цифра
\wСлово
\WНе слово
\xhhШестнадцатиричный символ hh
\OxxxВосьмиричный символ xxx

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

НаименованиеОписание
[:upper:]Буквы в верхнем регистре
[:lower:]Буквы в нижнем регистре
[:alpha:]Все буквы
[:alnum:]Буквы и цифры
[:digit:]Цифры
[:xdigit:]Шестнадцатиричные цифры
[:punct:]Пунктуация
[:blank:]Пробел и табуляция
[:space:]Пустые символы
[:cntrl:]Управляющие символы
[:graph:]Печатные символы
[:print:]Печатные символы и пробелы
[:word:]Буквы, цифры и подчеркивание

Утверждения

НаименованиеОписание
?=Вперед смотрящее +
?!Отрицательное вперед смотрящее +
?<=Назад смотрящее +
?!= или ?Отрицательное назад смотрящее +
?>Однократное подвыражение
?()Условие [если, то]
?()|Условие [если, то, а иначе]
?#Комментарий

Кванторы

НаименованиеОписание
*0 или больше +
*?0 или больше, нежадный +
+1 или больше +
+?1 или больше, нежадный +
?0 или 1 +
??0 или 1, нежадный +
{2}Ровно 2 +
{2,}2 или больше +
{2,4}2, 3 или 4 +
{2,4}?2, 3 или 4, нежадный +

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

НаименованиеОписание
\Экранирующий символ +
\nНовая строка +
\rВозврат каретки +
\tТабуляция +
\vВертикальная табуляция +
\fНовая страница +
\aЗвуковой сигнал
[\b]Возврат на один символ
\eEscape-символ
\N{name}Именованый символ

Подстановка строк

НаименованиеОписание
$nn-ая непассивная группа
$2«xyz» в /^(abc(xyz))$/
$1«xyz» в /^(?:abc)(xyz)$/
$`Перед найденной строкой
$'После найденной строки
$+Последняя найденная строка
$&Найденная строка целиком
$_Исходный текст целиком
$$Символ «$»

Диапазоны

НаименованиеОписание
.Любой символ, кроме переноса строки (\n) +
(a|b)a или b +
(...)Группа +
(?:...)Пассивная группа +
[abc]Диапазон (a или b или c) +
[^abc]Не a, не b и не c +
[a-q]Буква между a и q +
[A-Q]Буква в верхнем регистре между A и Q +
[0-7]Цифра между 0 и 7 +
\nn-ая группа/подшаблон +

Модификаторы шаблонов

НаименованиеОписание
gГлобальный поиск
iРегистронезависимый шаблон
mМногострочный текст
sСчитать текст одной строкой
xРазрешить комментарии  и пробелы в шаблоне
eВыполнение подстановки
UНежадный шаблон

Мета-символы (экранируются)

^[
.$
{*
(\
+)
|?
<>