Site creation
  • Share:

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

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

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

    Friday, July 3, 2009 12:05 AM.
    31460 views.
    Reply Follow