Регулярные выражения
Регулярные выражения - это специальный язык, с помощью которого можно искать совпадения в тексте. Регулярные выражения позволяют использовать более сложные фильтры, нежели простое текстовое совпадение.
Регулярные выражения поддерживаются в
Образцы шаблонов
Эти шаблоны предназначены для ознакомительных целей и основательно не проверялись. Используйте их с осторожностью и предварительно тестируйте. |
^$ |
Пустое значение |
.+ |
Непустое (любое) значение |
([A-Za-z0-9-]+) |
Буквы, числа и знаки переноса |
(\d{1,2}\/\d{1,2}\/\d{4}) |
Дата, например 21/3/2006 |
([^\s]+(?=\.(jpg|gif|png))\.\2 |
Имя файла jpg, gif или png |
(^[1-9]{1}$|^[1-4]{1}[0-9]{1}$|^50$) |
Любое число от 1 до 50 включительно |
(#?([A-Fa-f0-9]){3}(([A-Fa-f0-9]){3})?) |
Шестнадцатеричный код цвета |
((?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,15}) |
От 8 до 15 символов с минимум одной цифрой, одной заглавной и одной строчной буквой (полезно для паролей) |
(\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,6}) |
Адрес email |
(\<(/?[^\>]+)\>) |
HTML-теги |
Отмеченное "+" работает в большинстве языков программирования. |
Якоря
^ |
Начало строки + |
\A |
Начало текста + |
$ |
Конец строки + |
\Z |
Конец текста + |
\b |
Граница слова + |
\B |
Не граница слова + |
\< |
Начало слова |
\> |
Конец слова |
Символьные классы
\c |
Управляющий символ |
\s |
Пробел |
\S |
Не пробел |
\d |
Цифра |
\D |
Не цифра |
\w |
Слово |
\W |
Не слово |
\xhh |
Шестнадцатеричный символ hh |
\Oxxx |
Восьмеричный символ ххх |
Символьные классы POSIX
[:upper:] |
Буквы в верхнем регистре |
[:lower:] |
Буквы в нижнем регистре |
[:alpha:] |
Все буквы |
[:alnum:] |
Буквы и цифры |
[:digit:] |
Цифры |
[:xdigit:] |
Шестнадцатеричные цифры |
[:punct:] |
Пунктуация |
[:blank:] |
Пробел и табуляция |
[:space:] |
Пустые символы |
[:cntrl:] |
Управляющие символы |
[:graph:] |
Печатные символы |
[:print:] |
Печатные символы и пробелы |
[:word:] |
Буквы, цифры и подчёркивание |
Утверждения
?= |
Вперёд смотрящее + |
?! |
Отрицательное вперёд смотрящее + |
?<= |
Назад смотрящее + |
?!= или ? |
Отрицательное назад смотрящее + |
?> |
Однократное подвыражение |
?() |
Условие [если, то] |
?()| |
Условие [если, то, а иначе] |
?# |
Комментарий |
Кванторы
* |
0 или больше + |
*? |
0 или больше, нежадный + |
+ |
1 или больше + |
+? |
1 или больше, нежадный + |
? |
0 или 1 + |
?? |
0 или 1, нежадный + |
{3} |
Ровно 3 + |
{3,} |
3 или больше + |
{3,5} |
3, 4 или 5 + |
{3,5}? |
3, 4 или 5, нежадный + |
Специальные символы
\ |
Экранирующий символ + |
\n |
Новая строка + |
\r |
Возврат каретки + |
\t |
Табуляция + |
\v |
Вертикальная табуляция + |
\f |
Новая страница + |
\a |
Звуковой сигнал |
[\b] |
Возврат на один символ |
\e |
Escape-символ |
\N{name} |
Именованный символ |
Подстановка строк
$n |
n-ая непассивная группа |
$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 + |
\n |
n-ая группа/подшаблон + |
Диапазоны включают граничные значения. |