От автора code.mu: РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗jsSpREStri 134 of 294 menu

Строка с регуляркой в JavaScript

Регулярные выражения можно представлять в виде строк. Это удобно в том случае, если вам необходимо делать вставки переменных в регулярки, либо формировать их динамически.

Давайте посмотрим на примере. Пусть у нас есть следующая строка:

let str = 'img.png';

Пусть к этой строке мы применяем следующее регулярное выражение:

let reg = /\.(png|jpg)$/; let res = str.match(reg);

Давайте перепишем это регулярное выражение в виде строки. Это делается с помощью специального объекта RegExp:

let reg = new RegExp('\.(png|jpg)$'); let res = str.match(reg);

Давайте теперь вынесем часть регулярки в переменную и вставим ее с помощью конкатенации:

let pat = 'png|jpg'; let reg = new RegExp('\.(' + pat + ')$'); let res = str.match(reg);

А теперь вставим переменную с помощью шаблонных строк:

let pat = 'png|jpg'; let reg = new RegExp(`\.(${pat})$`); let res = str.match(reg);

А теперь сформируем часть регулярки из массива:

let exts = ['png', 'jpg']; let pat = exts.join('|') let reg = new RegExp(`\.(${pat})$`); let res = str.match(reg);

Практические задачи

Вынесите названия доменных зон в отдельную переменную:

let reg = /^[a-z]+\.(ru|by|ua)$/; let res = reg.test(str);

Модифицируйте предыдущую задачу с учетом того, что доменные зоны хранятся в виде массива:

let arr = ['ru', 'by', 'ua'];
Русский
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить