□ 1 [ [ :alpha:] ] {4 }
В этом примере [[:alpha:]] и {4 } являются метасимволами. [[:alpha:]]
означает буквенно-цифровой символ (А-Z и a-z), а {4 } - повторение стоящего
перед ним символа 4 раза. Когда 1, [[:alpha:]] и {4 } объединяются,
они начинают обозначать последовательность из пяти символов, начинающуюся
с буквы 1. Следовательно, когда это выражение будет применено к
строке, будет отмечено соответствие для подстроки light.
116 Глава 4
В таблице 4.5 перечислены некоторые метасимволы, которые вы можете
использовать в регулярных выражениях, с расшифровкой их значения
и примерами использования.
Таблица 4.5. Метасимволы регулярных выражений
Метасимвол Значение Примеры
\
\\ означает \
{п}
{n, m}
(шаблон)
х IУ
Указывает на то, что следующий за \п означает символ новой строки,
ним символ является специальным
символом, литералом или обратной
ссылкой (backreference). (Обратная
ссылка повторяет предыдущее совпадение.)
\( означает ( \) означает)
Означает позицию в начале строки. ЛА означает А, если этот символ
А является первым символом
строки.
Означает позицию в конце строки. $В означает символ В, если он
является последним символом
строки.
ba*rk будут соответствовать
строки brk, bark, baark и так далее.
Означает, что предыдущий символ
может повторяться ноль или большее
число раз.
Означает, что предыдущий символ
может повторяться один или большее
число раз.
Означает, что предыдущий символ
может повторяться ноль или один
раз.
Соответствует повторению символа
ровно п раз, где п - целое число.
Соответствует повторению символа
не менее п и не более m раз, где п и
m - целые числа.
Соответствует ровно одному любому
символу, за исключением пустого
символа (null).
Подвыражение, которое соответствует
указанному шаблону. Подвыражения
используются для построения
сложных регулярных выражений.
Из этого типа подвыражений
можно обращаться к индивидуальным
соответствиям, известным под
названием добычи (capture).
Соответствуют х или у, где х или у -
один или несколько символов.
ba+rk будут соответствовать
строки bark, baark и т. д., но не
brk.
ba?rk будут соответствовать
только строки brk и bark.
hob(2)it соответствует слову
hobbit.
hob{2,3)it будут соответствовать
только hobbit и hobbbit.
hob.it соответствует hobait, hobbit
ит. д.
Шаблону anatom(ylies) соответствуют
слова anatomy и anatomies.
Шаблону warl peace соответствуют
слова war и peace.
Использование простых функций 117
Таблица 4.5. Метасимволы регулярных выражений (продолжение)
Метасимвол Значение Примеры
[abc]
[a-z]
[: :]
[==]
Соответствует любому из заключенных
в скобки символов.
Соответствует любому символу в
указанном диапазоне.
Определяет класс символов и определяет
соответствие любому символу
этого класса.
Соответствует одному элементу сопоставления
типа мультисимвольно-
го элемента.
Определяет классы эквивалентности.
Шаблону [ab]bc соответствуют
abc или bbc.
Шаблону [а-с]Ьс соответствуют
строки abc, bbc и cbc.
Шаблону [:alphanum:] соответствуют
буквенно-цифровые символы
0-9, A-Z и a-z. Шаблону
[:alpha:] соответствуют символы
алфавита A-Z и a-z.
Шаблону [:blank:] соответствуют
пробел и символ табуляции.
Шаблону [:digit:] соответствуют
цифры от 0 до 9.
Шаблону [:graph:] соответствуют
любые печатные (не пробельные,
отображаемые на экране) символы.
Шаблону [:lower:] соответствуют
буквы нижнего регистра a-z.
Шаблон [:print:] аналогичен шаблону
[:graph:] за исключением
того, что в [:print:] включен символ
пробела.
Шаблону [:punct:] соответствуют
символы пунктуации ., “ ‘и так
далее.
Шаблону [:эрасе:] соответствуют
все непечатные (пробельные)
символы.
Шаблону [:upper:] соответствуют
все буквы верхнего регистра A-Z.
Шаблону [:xdigit:] соответствуют
все символы, допустимые для
шестнадцатеричных чисел: цифры
0-9 и буквы А-F и a-f.
Пример отсутствует.
Пример отсутствует.
118 Глава 4
Таблица 4.5. Метасимволы регулярных выражений (окончание)
Метасимвол Значение Примеры
\п Это обратная ссылка на предыду- (.)\1 обозначает два идущих под-
щий элемент, где л обозначает поло- ряд одинаковых элемента. Шаб-