Säännöllisen lausekkeen merkkijono JavaScriptissä

Säännölliset lausekkeet voidaan esittää merkkijonoina. Tämä on kätevää silloin, kun sinun täytyy tehdä muuttujien lisäyksiä säännöllisiin lausekkeisiin tai muodostaa niitä dynaamisesti.

Katsotaanpa esimerkkiä. Oletetaan, että meillä on seuraava merkkijono:

javascriptlet str = 'img.png';

Oletetaan, että tähän merkkijonoon sovellamme seuraavaa säännöllistä lauseketta:

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

Kirjoitetaan tämä säännöllinen lauseke muodossa merkkijono. Tämä tehdään käyttämällä erityistä objektia RegExp:

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

Siirretään nyt osa säännöllisestä lausekkeesta muuttujaan ja lisätään se käyttämällä ketjuttamista:

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

Ja nyt lisätään muuttuja mallimerkkien avulla:

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

Ja nyt muodostetaan osa säännöllisestä lausekkeesta taulukosta:

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

Käytännön tehtävät

Задание 1

Siirrä verkkotunnusvyöhykkeiden nimet erilliseen muuttujaan:

javascriptlet reg = /^[a-z]+\.(ru|by|ua)$/;
let res = reg.test(str);
Задание 2

Muokkaa edellistä tehtävää ottaen huomioon sen, että verkkotunnusvyöhykkeet tallennetaan taulukkomuodossa:

javascriptlet arr = ['ru', 'by', 'ua'];