⊗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'];
dauzazmska