PERL - статьи


Одиночные символы


В регулярном выражении любой символ соответствует самому себе, если только он не является метасимволом со специальным значением (такими метасимволами являются \, |, (, ), [, {, *, +, ^, $, ? и .). В следующем примере проверяется, не ввел ли пользователь команду "quit" (и если это так, то прекращаем работу программы):

while(<>){ if(m/quit/){exit;} }

Правильнее проверить, что введенное пользователем слово "quit" не имеет со-седних слов, изменяющих смысл предложения. (Например, программа выполнит заведомо неверное действие, если вместо "quit" пользователь введет команду "Don't quit!".) Это можно сделать с помощью метасимволов ^ и $. Заодно, что-бы сравнение было нечувствительно к разнице между прописными и заглавными буквами, используем модификатор i:

while (<>) {if (m/^quit$/i) {exit;} }

Кроме обычных символов perl определяет специальные символы. Они вводятся с помощью обратной косой черты (escape-последовательности) и также могут встречаться в регулярном выражении:

  • \077 - восьмеричный символ,
  • \а - символ BEL (звонок),
  • \с[ - управляющие символы (комбинация Ctrl + символ, в данном случае это управляющий символ ESC),
  • \d - соответствует цифре,
  • \D - соответствует любому символу, кроме цифры,
  • \е - символ escape (ESC),
  • \Е - конец действия команд \L, \U и \Q,
  • \f - символ прогона страницы (FF),
  • \1 - следующая литера становится строчной (lowercase),
  • \L - все последующие литеры становятся строчными вплоть до командй \Е,
  • \n - символ новой строки (LF, NL),
  • \Q - вплоть до команды \Е все последующие метасимволы становятся обычными символами,
  • \r - символ перевода каретки (CR),
  • \s - соответствует любому из "пробельных символов" (пробел, вертикальная , или горизонтальная табуляция, символ новой строки и т. д.),
  • \S - любой символ, кроме "пробельного",
  • \t - символ горизонтальной табуляции (НТ, TAB),
  • \u - следующая литера становится заглавной (uppercase),
  • \U - все последующие литеры становятся заглавными вплоть до команды \E,



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



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