3.10.1.2.4.1.5.6.1. Регулярные выражения

 
Регулярные выражения – формальный язык поиска и осуществления манипуляций с подстроками в тексте, основанный на использовании метасимволов. Для поиска используется шаблон, состоящий из символов и метасимволов, который задает правило поиска.
Регулярные выражения регистрозависимы.
 

Якоря

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

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

Обозначение
Описание
\c
Управляющий символ
\s
Символ пробела
\S
Любой символ, кроме пробела
\d
Десятичная цифра
\D
Не цифра
\w
Слово
\W
Не слово
 

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

 
Обозначение
Описание
\
Экранирующий символ
\n
Новая строка
\r
Возврат каретки
\t
Табуляция
\v
Вертикальная табуляция
\f
Новая страница
 

Кванторы

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

Диапазоны

 
Обозначение
Описание
.
Любой символ, кроме переноса строки (\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-ая группа/подшаблон

Примеры

 
Отобразить элементы, которые начинаются на discr:
^discr
 
Отобразить элементы, которые заканчиваются на el:
el$
 
Отобразить элементы, которые содержат в себе knowled:
knowled
 
Отобразить элементы, которые заканчиваются на Comment или User:
(Comment|User)$
 
Отобразить элементы, содержащие в себе level, пробел и любой символ после пробела:
level\s.
 
Отобразить элементы, начало которых может начинаться с заглавной и строчной букв:
[Ss]ervice
Отобразить элементы, содержащие в себе символы, не являющиеся числом:
[^0-9]
 
Отобразить элементы, соответствующие положительному числу:
^\d+$
 
Отобразить элементы, соответствующие положительному или отрицательному числу:
^\-?\d+$
 
Отобразить элементы, содержащие в себе последовательность из одной или нескольких отрицательных чисел:
\-\d+
 
Отобразить элементы, соответствующие целому или вещественному числу:
^\-?\d+(\.\d*)?$