Синтаксис регулярных выражений - часть 3
2. Подстановка символа с указанным кодом.
Для подстановок этого вида используются две записи:
- \хшш, где шш — одна или две шестнадцатиричных цифры, буквы можно указывать в верхнем или нижнем регистре;
- \ДДД, где ДДД — одна-три восьмеричных цифры.
Эти записи заменяются символом с указанным кодом. Вторую запись желательно не использовать, дабы не спутать ее с подстановкой найденного фрагмента (см. следующий пункт). Если же вы все-таки хотите использовать восьмеричную запись, указывайте ее в виде трех цифр (при необходимости добавляя впереди нули).
3. Подстановка фрагмента совпадения с подшаблоном (обратная ссылка).
Указываются в виде: \ДД, где ДД — одна-две десятичных цифры (1-99) без незначащих нулей. Таким образом, обратных ссылок не может быть более 99. См. подробную информацию в разделе «Подшаблоны».
4. Подстановка класса символов.
- \d — любой цифровой символ, [0-9];
- \0 — любой НЕцифровой символ, [*0-9];
- \s — любой пробельный символ, [\t\ \r\f\n];
- \S — любой НЕпробелышй символ;
- \w — любой алфавитно-цифровой символ;
- \W — любой НЕалфавитно-цифровой символ.
Алфавитно-цифровым символом считается буква, цифра или знак подчеркивания, также в этот набор могут входить локальные буквенные символы (например, символы кириллицы), и это определяется символьными таблицами PCRE.
Эти подстановки можно включать в класс символов.
5. Обозначение общего вида претензий.
- \b — «на границе слова»;
- \В — «не на границе слова»;
- \А — в начале текста;
- \Z — в конце текста или перед символом перевода строки;
- \z — в конце текста.
Последовательности \А, \Z и \z, в отличие от метасимволов $ и А, действуют вне зависимости от режима многострочности (см. модификатор т).
Эти последовательности не должны использоваться в классах символов.
См. также раздел «Претензии».
Если после слеша указывается буква и эта последовательность не имеет специального значения подстановки, обычно слеш игнорируется и последовательность воспринимается как обычная буква. При установке же модификатора X такая последовательность вызывает ошибку. Это сделано для того, чтобы в дальнейшем, если когда-то такая последовательность приобретет специальное значение, она не использовалась бы неумышленно.