Руководство пользователя для GNU Awk
Приложение A. Обзор gawk
A.4 Образцы
A.4.2 Регулярные выражения
Регулярные выражения (для краткости regexp) основываются на POSIX EREs (расширенные регулярные выражения). Управляющие последовательности, допустимые в константах-цепочках, также действительны в регулярных выражениях (см. раздел 4.2 [Управляющие последовательности], стр. 24). Regexps составляются из символов подобно следующему:
c
соответствует символу c (предполагается , что с не совпадает ни с одним из перечисленных ниже символов).
"c
соответствует буквально символу c. . соответствует любому символу, включая newline. В строгом режиме POSIX `.' не соответствует пустому символу, состоящему только из нулевых битов.
^
соответствует началу цепочки.
$
соответствует концу цепочки.
[abc...]
соответствует любому из символов abc . . . (список символов).
[[:class:]]
соответствует любому символу из класса class.
Допускаются следующие классы:
alnum, alpha, blank, cntrl, digit, graph, lower, print, punct, space, upper, xdigit.
[[.symbol.]]
соответствует много символьному collating symbol символу. gawk не поддерживает collating symbols (упорядочивающие символы).
[[=classname=]]
соответствует любому из эквивалентных символов в текущем локально названном по эквивалентности классе.
В настоящее время gawk не поддерживает классы эквивалентности.
[^abc...]
соответствует любому символу кроме abc . . . (список отрицаемых символов).
r1--r2
соответствует либо r1 либо r2 (альтернатива).
r1r2
соответствует сначала r1, а затем r2 (конкатенация).
r+
соответствует одному или более соседних r.
r*
соответствует нулю или более соседних r.
r?
соответствует ни одному или одному r.
(r)
соответствует r (группировка).
r-n""
отвечают количествам вхождений r не меньше чем n
r-n,""
отвечают количествам вхождений r n или больше до некоторого номера
r-n,m""
отвечают количествам вхождений r от n до m (интервальные выражения)
"y
Соответствует пустой цепочке в начале или конце слова.
"B
Соответствует пустой цепочке внутри слова.
"!
Соответствует пустой цепочке в начале слова.
"?
Соответствует пустой цепочке в конце слова.
"w
Соответствует любому символу, могущему входить в состав слова (буква, цифра и подчеркивание).
"W
Соответствует любому символу, не могущему входить в состав слова.
"`
Соответствует пустой цепочке в начале буфера (то же самое, что цепочка в gawk).
"'
Соответствует пустой цепочке в конце буфера.
Различные параметры командной строки управляют интерпретацией gawk символов в regexps.
Когда параметров нет
По умолчанию gawk обеспечивает все средства POSIX regexps и GNU regexp операторов, описанных выше. Однако, интервальные выражения не поддерживаются.
--posix
Поддерживаются только POSIX regexps, операторы GNU не являются специальными (например, `"w' соответствует литералу `w'). Допускаются интервальные выражения.
--traditional
Соответствует традиционным Unix awk regexps. Операторы GNU не являются специальными. Интервальные выражения не допускаются, также как символьные классы POSIX ([[:alnum:]] и прочие). Символы, описываемые восьмеричными и шестнадцатеричными управляющими последовательностями трактуются буквально, даже если они представляют метасимволы regexp.
--re-interval
Допускаются интервальные выражения в regexps, даже если был указан `--traditional'. См. главу 4 [Регулярные выражения], стр. 23.
Назад | Вперед
Содержание (общее) | Содержание раздела | Содержание подраздела
Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
|