სტრიქონი რეგულარული გამოსახულებით JavaScript-ში

რეგულარული გამოსახულებები შეიძლება იყოს სტრიქონების სახით. ეს მოსახერხებელია იმ შემთხვევაში, თუ თქვენ გჭირდებათ ცვლადების ჩასმა რეგულარულ გამოსახულებებში, ან მათი დინამიურად ფორმირება.

მოდით შევხედოთ მაგალითს. დავუშვათ, გვაქვს შემდეგი სტრიქონი:

javascriptlet str = 'img.png';

დავუშვათ, ამ სტრიქონს ჩვენ ვიყენებთ შემდეგ რეგულარულ გამოსახულებას:

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

მოდით გადავწეროთ ეს რეგულარული გამოსახულება სტრიქონის სახით. ეს კეთდება სპეციალური ობიექტის RegExp მეშვეობით:

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

მოდით ახლა გამოვყოთ რეგულარული გამოსახულების ნაწილი ცვლადში და ჩავსვათ იგი კონკატენაციის მეშვეობით:

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

ახლა კი ჩავსვათ ცვლადი შაბლონური სტრიქონების მეშვეობით:

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

ახლა კი ჩამოვაყალიბოთ რეგულარული გამოსახულების ნაწილი მასივიდან:

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

პრაქტიკული ამოცანები

Задание 1

გამოიტანეთ დომენის ზონების სახელები ცალკე ცვლადში:

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

მოდიფიცირება წინა ამოცანა იმის გათვალისწინებით, რომ დომენის ზონები ინახება მასივის სახით:

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