Page 278 - Браун Э. - Изучаем JavaScript. Руководство по созданию современных веб-сайтов - 2017
P. 278
Моди- Описание П ример
фикатор
* Ноль или несколько / a - z ] \d* /i соответствует буквам английского алфави-
[
раз (иногда называется та, за которыми может следовать (а может и нет!) сразу
"звездой Клини") несколько цифр
+ Один или несколько / a - z ] \d / i соответствует буквам английского алфа
+
[
вита, за которыми должна следовать одна или несколь
ко цифр
"
"
э к а н и р
Метасимвол точка и р ов а н и е
Точка в регулярном выражении - это специальный символ, который означает
"соответствие чему-нибудь" (кроме символов перевода строки). Очень часто этот
подходящий для всего метасимвол используется для переработки не интересующих
частей входной строки. Давайте рассмотрим пример поиска во входной строке од
ного почтового индекса, состоящего из пяти цифр, при этом остальная часть строки
нас не интересует.
const input = "Address : 333 Main St . , Anywhere, NY, 55532 . Phone : 555-555-2525 . " ;
const match = input . m atc ( / \d { 5 } . * / ) ;
h
Очень часть возникает необходимость распознать в строке символ точки, встре
чающийся, например, в доменном имени или IР-адресе. Аналогично вам может по
надобиться распознать символы, соответствующие метасимволам регулярного выра
жения, например, звездочки или круглые скобки. Для этой цели любой такой символ
следует экранировать, т.е. поместить перед ним обратную косую черту.
const equation = " ( 2 + 3 . 5 ) * 7 " ;
/
const match = equation . match ( / \ ( \ d \ + \d\ . \ d\ ) \ * \d ) ;
Многие читатели наверняка помнят работу в командной строке с шаб
лонами имен файлов. Например, шаблон * . txt соответствовал именам
"любых текстовых файлов': Здесь * - это метасимвол "шаблона': озна
чающий, что он соответствует чему угодно. Если это вам знакомо, ис
пользование символа * в регулярных выражениях может смутить вас,
поскольку здесь она означает нечто совсем иное и не может использо
ваться в качестве самостоятельного символа. Т о чка в регулярном выра
жении больше всего похожа на шаблон * в масках имен файлов, а точка
в шаблоне имени файла соответствует только одному символу точки,
а не произвольной строке, как в шаблоне регулярного выражения.
Метасимвол "точка" и экранирование 281

