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

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

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