Иллюстрированный самоучитель по Perl

Метапоследовательности


Символ "\", непосредственно предшествующий одному из метасимволов, отменяет специальное значение последнего. Если же "\" непосредственно предшествует обычному символу, то, напротив, такая последовательность во многих случаях приобретает специальное значение. Подобного рода последовательности будем называть метапоследователъностями. Метапоследова-тельности в регулярном выражении служат, в основном, для представления отдельных символов, их классов или определенного места в строке, дополняя и иногда дублируя/функции метасимволов. Рассмотрим существующие метапосл едовател ьности.

  • \nnrt — представляет\символ, восьмеричный код которого равен лил. Например, последовательность \120\145\162\154 представляет слово Perl (\120 — восьмеричный код буквы Р, \145 — буквы е, \1б2 — буквы г, \154- буквы!);
  • \хпп — представляет символ, шестнадцатеричный код которого равен пп. Слово Perl, например, представляется последовательностью \x50\x65\х72\хбс;
  • \сп — представляет управляющий символ, который генерируется при нажатии комбинации клавиш <Ctrl>+<N>, где N — символ, например, \со соответствует <Ctrl>+<D>;
  • \$ — символ "$"; G \@ — символ "@"; О \% — символ "%";
  • \а — представляет символ с десятичным ASCII-кодом 7 (звонок). При выводе производит звуковой сигнал;
  • \е — символ Esc, десятичный ASCII-код 27;
  • \f — символ перевода страницы, десятичный ASCII-код 12;
  • \п — символ новой строки, десятичный ASCII-код 10;
  • \г — символ "возврат каретки", десятичный ASCII-код 13;
  • \t — символ горизонтальной табуляции, десятичный ASCII-код 9;
  • \v — символ вертикальной табуляции, десятичный ASCII-код 11;
  • \з — представляет класс пробельных символов. К пробельным символам относятся: пробел, имвол табуляции, возврат каретки, символ новой строки и символ перевода страницы. То же самое, что и [\t,\r,\n,\fj;


  • \s — представляет класс непробельных символов, то же самое, что и класс [ л \t,\r,\n,\f];
  • \d — класс цифровых символов, то же, что и [0-9]; П \о — класс нецифровых символов, то же, что и [ Л о-9];



  • \w — представляет класс буквенно- цифровых символов, состоящий из букв, цифр и символа подчеркивания "_". То же самое, что и [a-zA-z_ o-9j. Обратите внимание, что в этот класс входят только буквы английского алфавита;


  • \w — представляет класс небуквенно-цифровых символов. То же, что и Pa-zA-Z_0-9];


  • \д — обозначает начало строки;


  • \z — обозначает конец строки;


  • Замечание
    Последовательность \А эквивалентна метасимволу ^ в начале регулярного выражения, а последовательность \z— метасимволу $ в конце регулярного выражения, за исключением одного случая. Назовем строку, содержащую внутри себя символы новой строки (ASCII 10), мульти-строкой. Фактически муль-ти-строка состоит из отдельных строк, разделенных ограничителями — символами новой строки. При выводе мульти-строка отображается в виде нескольких строк. Если к мульти-строке применяется операция поиска или замены с опцией /т (см. ниже), то последовательности \А и \z обозначают соответственно начало и конец всей мульти-строки, а метасимволам ^ и $ соответствуют еще и границы внутренних строк, образующих мульти-строку.
  • \b — обозначает границы слова. Под словом понимается последовательность символов из класса \w. Граница слова определяется как точка между символами из класса \w и символами из класса \w;


  • \B — обозначает не-границы слова, т. е. класс символов [ Л \Ь];


  • \1 — обозначает, что следующий символ регулярного выражения преобразуется к нижнему регистру. Например, запись /\ip/ означает, что символ Р будет преобразован к нижнему регистру, после чего новый образец /р/ может быть использован в соответствующей операции поиска или замены;


  • \n — обозначает, что следующий символ регулярного выражения преобразуется к верхнему регистру;


  • \b.. .\Е — обозначает, что все символы в регулярном выражении между \ь и \Е преобразуются к нижнему регистру;


  • \n.. .\Е — обозначает, что все символы в регулярном выражении между \U и \Е преобразуются к верхнему регистру;


  • \Q...\E— обозначает, что все метасимволы в регулярном выражении между \Q и \Е экранируются при помощи символа "\". Например, запись /\0 Л *?+\Е/ эквивалентна записи /\ Л \*\?\+У;


  • \с — обозначает точку, в которой закончился предыдущий поиск m//g (см. описание операции поиска т//).





  • Содержание раздела