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

By | 11/03/2011


Представления символов

Символы – большинство из которых в регулярных выражениях представляют сами себя, за исключением специальных символов [ ] ^ $ . | ? * + ( ) { } Но чтобы и эти символы представить в качестве самих себя, то перед каждым достаточно добавить символ (обратную косую черту). Если же требуется задать некую последовательность специальных символов, то можно заключить их в специальную группу, между Q и E.

Управляющие символы

Представление Символ
. Любой символ за исключением конца строки
t Табуляция
v Вертикальная табуляция
r Возврат каретки
n Перевод строки
f Конец страницы
a Звонок
e Escape-символ
b Когда используется в квадратных скобках, то означает обратную косую черту
cA … cZ Ctrl+A … Ctrl+Z
Например, последовательность cMcJ соответствует управляющим символам CR LF.
Эквивалентно x01 … x1A.

Сокращённые обозначения символьных классов

Символьный класс – набор символов в квадратных скобках, который указывает, что на данном месте может стоять любой из перечисленных в нем символов.

Представление Эквивалент Значение
d [0-9] Цифра
D [^d] Любой символ, кроме цифры
w [A-Za-zА-Яа-я0-9_] Символы, образующие «слово» (буквы, цифры и символ подчёркивания)
W [^w] Символы, не образующие «слово»
s [ tvrnf] Пробельный символ
S [^s] Непробельный символ

Позиция внутри строки

Представленные ниже символы позволяют спозиционировать регулярное выражение относительно элементов текста: начала и конца строки, границ слова.

Представление Позиция Пример Соответствие
^ Начало строки ^a aaa aaa
$ Конец строки a$ aaa aaa
b Граница слова ab aaa aaa
ba aaa aaa
B Не граница слова BaB aaa aaa
G Предыдущий успешный поиск Ga aaa aaa (поиск остановился на 4-й позиции — там, где не нашлось a)

Примеры и их соответствие

Пример Соответствие
a.? a. или a
a\\b a\b
a[F] a[F]
Q+-*/E символы + – * /
(a|b) a или b
[abc] a, b или c
[^abc] все, кроме a, b и c
[a-q] буквы от a до q в нижнем регистре
[A-Q] буквы от A до Q в верхнем регистре
[0-7] цифры от 0 до 7
[135adb] только заданные указанные цифры и буквы

Квантификаторы

Квантификаторы — ставятся после символа, группы символов или символьного класса и определяют, сколько раз предшествующее выражение может встречаться

Представление Эквивалент Число повторений Пример Соответствие
{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, colouur и т. д.
+ {1,} Одно или более colou+r colour, colouur и т. д. (но не color)
? {0,1} Ноль или одно colou?r color, colour