воскресенье, 24 июля 2011 г.

коды спецсимволов

Переключиться в табличный режимПереключиться в табличный режим

Одним из самых важных метасимволов является символ обратного слэша ("\"). Если в строке встречается этот символ, то следующий за ним символ рассматривается двояко:

    * если следующий символ в обычном режиме имеет какое-либо специальное значение, то он теряет это свое специальное значение и рассматривается как обычный символ. Это совершенно необходимо для того, чтобы иметь возможность вставлять в строку специальные символы, как обычные. Например метасимвол '.', в обычном режиме означает "любой единичный символ", а '\.' означает просто точку. Также можно лишить специального значения и сам этот символ: '\\'.
    * если следующий символ в обычном режиме не имеет никакого специального значения, то он может получить такое значение, будучи соединенным с символом '\'. К примеру, символ 'd' в обычном режиме воспринимается просто как буква, однако, будучи соединенной с обратным слэшем ('\d') становится метасимволом, означающим "любая цифра".

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

Метасимвол

   

Значение

Метасимволы для задания символов, не имеющих изображения

\n

   

Символ перевода строки (код 0x0A)


   

Символ возврата каретки (код 0x0D)

 
   

Символ табуляции (код 0x09)

\x** (где * - любая шестнадцатеричная цифра)

   

Вставка символа с шестнадцатеричным кодом 0x**, например \x41 вставит латинскую букву 'A'

\0** (где * - любая восьмеричная цифра)

   

Вставка символа с восьмеричным кодом 0**, например \040 вставит пробел " "

\* (где * - любая цифра от 1 до 9)

   

Обратная ссылка. Соответствует той же последовательности, что и значение в n-ных круглых скобках. Например, " (.*) \1" найдет "aa aa", "1 1", но не найдет "aaaa", "11"

Метасимволы для задания групп символов

\d

   

Цифра. Эквивалентно [0-9].

\D

   

Не цифра (любой символ кроме символов 0-9). Эквивалентно [^\d].

\s

   

Пустой символ (пробел, табуляция, возврат каретки, перевод строки). Эквивалентно [ \n ].

\S

   

Непустой символ (все, кроме символов, определяемых метасимволом \s). Эквивалентно [^\s].

\w

   

"Словесный" символ (символ, который используется в словах. Обычно все буквы, все цифры и знак подчеркивания). Эквивалентно [0-9 а-яА-Яa-zA-Z_].

\W

   

Все, кроме символов, определяемых метасимволом \w. Эквивалентно [^\w].

Границы символов

\<

   

Начало слова, т. е. граница между символом, удовлетворяющим \W и символом, удовлетворяющим \w

\>

   

Конец слова, т. е. граница между символом, удовлетворяющим \w и символом, удовлетворяющим \W

\b

   

Начало или конец слова, т. е. граница между символами, один из которых удовлетворяет \W, а другой - удовлетворяет \w

\B

   

Середина слова, т. е. граница между символами, оба которых удовлетворяют \W или оба которых удовлетворяют \w

^

   

Начало текста

$

   

Конец текста

\A

   

Начало строки, т. е. граница между переводом строки (или началом текста) и любым символом

\Z

   

Конец строки, т. е. граница между любым символом и переводом строки (или концом текста)

Комментариев нет:

Отправить комментарий