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

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

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