Выражения в квадратных скобках

Базовые регулярные выражения

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. Выражение диапазона соответствует любому символу находящемуся между двумя указан­ными включительно, с учетом установленного порядка сортировки. При записи начальный и конечный элементы диапазона разделяются знаком минус.