Как отмечалось ранее, все алфавитные символы и цифры в регулярных выраже_ ниях соответствуют сами себе. Синтаксис регулярных выражений в JavaScript также поддерживает возможность указывать некоторые неалфавитные символы с помощью управляющих последовательностей, начинающихся с символа об_ ратного слэша (\).3 Например, последовательность \n соответствует символу пе_ ревода строки. Эти символы перечислены в табл. 11.1.
1 Ларри Уолл, Том Кристиансен, Джон Орвант «Программирование на Perl», 3_е издание. – Пер. с англ. – СПб: Символ_Плюс, 2002.
3 Символ экранирования непосредственно за ним следующего символа. – Примеч. науч. ред.
Глава 11. Шаблоны и регулярные выражения
Таблица 11.1. Символы литералов в регулярных выражениях
Символ
Соответствие
Алфавитно_цифровые
Соответствуют самим себе
символы
\0
Символ NUL (\u0000)
\t
Табуляция (\u0009)
\n
Перевод строки (\u000A)
\v
Вертикальная табуляция (\u000B)
\f
Перевод страницы (\u000C)
\r
Возврат каретки (\u000D)
\xnn
Символ из набора Latin, задаваемый шестнадцатеричным
числом nn; например, \x0A – это то же самое, что \n
\uxxxx
Unicode_символ, заданный шестнадцатеричным числом
xxxx; например,\u0009– это то же самое, что\t
\cX
Управляющий символ ^X; например, \cJ эквивалентно сим_
волу перевода строки \n
Некоторые знаки препинания имеют в регулярных выражениях особый смысл:
^ $ . * + ? = ! : | \ / ( ) [ ] { }
Значение этих символов раскрывается в последующих разделах. Некоторые из них имеют специальный смысл только в определенном контексте регулярного выражения, а в других контекстах трактуются буквально. Однако, как правило, чтобы включить какой_либо из этих символов в регулярное выражение букваль_ но, необходимо поместить перед ним символ обратного слэша. Другие символы1, такие как кавычки и @, не имеют специального значения и просто соответствуют в регулярных выражениях самим себе.
Если вы не можете точно вспомнить, каким из символов должен предшествовать символ \, можете спокойно помещать обратный слэш перед любым из символов. Однако имейте в виду, что многие буквы и цифры вместе с символом слэша обре_ тают специальное значение, поэтому тем буквам и цифрам, которые вы ищете буквально, не должен предшествовать символ \. Чтобы включить в регулярное выражение сам символ обратного слэша, перед ним, очевидно, следует помес_ тить другой символ обратного слэша. Например, следующее регулярное выра_ жение соответствует любой строке, содержащей символ обратного слэша: /\\/.