Выражения в квадратных скобках
Базовые регулярные выражения
2.1 BRE соответствующие единственному символу или сопоставимому
элементу
В BRE обычный символ, специальный символ с предшествующей обратной чертой или точка соответствуют одному символу. Выражение в квадратных скобках соответствует единственному символу или сопоставимому элементу. Обычный символ в BRE соответствует сам себе. Это любой символ из используемого кодового набора, за исключением специальных символов. Специальные символы имеют особые свойства в некотором контексте. Вне этого контекста, либо предваренные обратной чертой, специальные символы соответствуют сами себе. Специальные символы BRE и контексты в которых они имеют специальное значение следующие:
.[\ специальные, кроме случаев когда используются в выражениях с квадратными скобками.
* специальный, за исключением использования в квадратных скобках, в качестве первого символа полного BRE (возможно после л), первым символом подвыражения (возможно после Л).
лспециальный когда является первым символом полного BRE или выражения в квадрат-
ных скобках.
$ специальный когда является первым символом полного BRE.
Точка, когда используется вне выражения в квадратных скобках, соответствует любому символу из поддерживаемого набора кроме символа с кодом ноль.
Выражение в квадратных скобках соответствует единственному сопоставимому элементу содержащемуся в непустом множестве сопоставимых элементов определенном выражением внутри скобок. К выражениям в квадратных скобках применимы следующие правила и определения:
1. Выражение в квадратных скобках может быть либо списком соответствия, либо списком несоответствия. Они состоят из одного или более выражений: подходящие элементы, подходящие символы, классы эквивалентности, классы символов или выражения диапазонов. Специальные символы: . * [ \ теряют свое специальное значение внутри скобок.
Последовательности символов [. [= [: имеют специальное значение внутри скобок и используются для отделения подходящих символов, выражений классов эквивалентности, выражений классов символов. За такими последовательностями символов должны следовать правильные выражения, заканчивающиеся, соответственно, символами .] =] :]
2. Список соответствия определяет список соответствующий любому имеющемуся в нем выражению. Напр., [abc] соответствует любому из символов a, b, c.
3. Список несоответствия начинается с уголка (Л), и определяет список соответствующий любому символу или подходящему элементу, исключая выражения содержащиеся в списке. Напр., [ЛаЬс] соответствует любому символу или сопоставимому элементу за исключением a, b, c.
4. Сопоставимый символ это сопоставимый элемент ограниченный символами [. и .].
5. Класс эквивалентности определяет набор сопоставимых элементов. Класс эквивалентности указывается внутри ограничителей [= и =].
6. Класс символов определяет набор символов. Название класса символов указывается внутри ограничителей [: и :]. Следующие классы символов определены для всех локалей: alnum, alpha, blank, cntrl, digit, graph, lower, print, punct, space, upper, xdigit.
7. Выражение диапазона соответствует любому символу находящемуся между двумя указанными включительно, с учетом установленного порядка сортировки. При записи начальный и конечный элементы диапазона разделяются знаком минус.