Обратный слэш «\»

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

  • если следующий символ в обычном режиме имеет какое-либо специальное значение, то он теряет это свое специальное значение и рассматривается как обычный символ. Это совершенно необходимо для того, чтобы иметь возможность вставлять в строку специальные символы, как обычные. Например метасимвол ‘.’, в обычном режиме означает «любой единичный символ«, а ‘\.’ означает просто точку. Также можно лишить специального значения и сам этот символ: ‘\\’.
  • если следующий символ в обычном режиме не имеет никакого специального значения, то он может получить такое значение, будучи соединенным с символом ‘\’. К примеру, символ ‘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 Конец строки, т. е. граница между любым символом и переводом строки (или концом текста)

Добавить комментарий

Ваш адрес email не будет опубликован.