Unix Man (Справочное руководство)


FLEX(1) - часть 4


[-+0-9]

подбирает все цифры и знаки плюс и минус. Знак оператора (^) должен находиться в первой позиции после левой скобки. Он указывает на то, что результирующая строка будетдополнительной к набору символов компьютера. Таким образом:

[^abc]

подбирает все символы, кроме a,b,c, включая все специальные и управляющие знаки, а

[^a-zA-Z]

это любой символ, не являющийся буквой. Косая черта (\) обеспечивает механизм отмены специального значения внутри класса символов, заключенного в скобки. Таким образом, символы могут быть введены литерально, если перед ними ставить косую черту.

Описание произвольного символа


Точка (.) определяет класс всех символов, кроме символа новой строки. Возможен переход в восьмеричную систему, но это исключает мобильность программы. Например:

[\40-\176]

подбираетет все печатаеные символы в коде ASCII, с восьмеричного 40 (пробел) до восьмеричного 176 (тильда).

Описание необязательных выражений


Оператор вопроса (?) указывает на необязательный элемент выражения. Таким образом

ab?c

подбирает ac или abc. Заметим, что значение оператора знака вопроса в данном случае отличается от его значения в командном процессоре.

Описание повторяющихся выражениий


Повторение классов обозначаются операторами звездочки (*) и плюса (+). Например:

a*

подбирает любую цепочку последовательных символов a, включая пустую, в то время как a+ подбирает один и более экземпляров a. Например:

[a-z]+

подбирает все цепочки строчных букв, и

[A-Za-z][A-Za-z0-9]*

подбирает все алфавитно-цифровые строки с начальной буквой. Заметим, что это типичное выражение для распознавания идентификаторов в языках программирования.

Описание чередования и группировки


Оператор вертикальной черты (|) определяет чередование. Например:

(ab|cd)

подбирает ab или cd. Заметим, что круглые скобки используются для группировки, хотя они не являются необходимыми на внешнем уровне. Например:

ab|cd

эквивалентно предыдущему примеру. Круглые скобки используются для более сложных выражений типа:




Начало  Назад  Вперед



Книжный магазин