Page 270 - Браун Э. - Изучаем JavaScript. Руководство по созданию современных веб-сайтов - 2017
P. 270
r
По с к с испоnьзован и е м ре уnя р ных выраже н и й
и
После создания регулярного выражения его можно использовать для поиска под
строки в строке несколькими способами.
Чтобы понять опции для замены, сначала рассмотрим небольшой пример приме
нения метаязыка регулярного выражения (использование статической строки здесь
было бы очень скучным). Мы используем регулярное выражение / \ w { 3 , } / ig, кото
рому будут соответствовать все слова из трех или более символов (без учета регис
тра). Не волнуйтесь о понимании всего прямо сейчас; это придет далее в этой главе.
Теперь мы можем рассмотреть доступные нам методы поиска.
const input = "As I was going to Saint Ives " ;
const re = / \ w{ З , } /ig;
/ / начнем со строки (input)
input . rn atch ( r e ) ; // [ " was ", "going", "Saint " , "Ives "}
input . s earch ( r e ) ; // 5 (первое трехбуквенное слово начинается с индекса 5)
// начнем с регулярного выражения (re)
t
re . test ( i npu ) ; / / true (input содержит по крайней мере одно
/ / трехбуквенное слово)
re . exec ( inpu ) ; / / [ "was "} (первое соответствие)
t
re . exec ( inpu ) ; / / [ "going" J (ехес "помнит" , где он находится)
t
t
re . exec ( i npu ) ; 1 1 [ " Sain t " J
re . e xec ( input ) ; 1 1 [ " Ives "}
t
re . exec ( inpu ) ; // null -- соответствий больше нет
/ / обратите внимание, что любой из этих методов применяется
1 1 непосредственно с литералом регулярного выражения
input . rn atch ( / \w { З , } /i g ) ;
input . s earch ( / \w { З , } / ig ) ;
/\w{ З , } / i g . test ( i npu ) ;
t
t
/ \ w{ З , } / i g . exec ( inpu ) ;
1 1
И з всех перечисленных выше методов RegExp . prototype . ехес предоставляет
больше всего информации, но на практике почему-то он используется очень редко.
Я чаще всего использую String p rototype . m atch и RegExp . prototype . test.
.
и с
r
Замена с поnьзова н и е м ре уnя р ных выраж е н и й
Мы уже видели применение метода String . prototype . replace для замены прос
тых строк. Однако он также позволяет использовать регулярные выражения и спо
собен на гораздо большее! Давайте начнем с простого примера - замены всех слов,
состоящих из 4-х и более символов.
Поиск с использованием регулярных выражений 273

