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
   273   274   275   276   277   278   279   280   281   282   283