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*)?$
|