JavaScript да регуляр ифодалар сатрларидаги тескари чизиқ
Регуляр ифодалар билан сатрларда тескари чизиқларни экранлаш (аслда икки баробар қилиш) керак. Келинг, мисолда кўрамиз. Фарз қилайлик, бизда қуйидаги сатр бор:
let str = 'xyz';
Фарз қилайлик, бизда қуйидаги код регуляр ифода билан бор:
let reg = /\w+/;
let res = str.match(reg);
Келинг, регуляр ифодани сатрга айлантирайлик. Бу ҳолда бизда тескари чизиқ билан муаммо пайдо бўлади:
let reg = new RegExp('\w+'); // ишламайди
let res = str.match(reg);
Муаммони ҳал қилиш учун тескари чизиқни икки баробар қиламиз:
let reg = new RegExp('\\w+'); // ишлайди
let res = str.match(reg);
Амалий машқлар
Регуляр ифодани сатрга айлантиринг:
let str = 'x1y x12y x123y';
let reg = /x\d+y/;
let res = str.replace(reg, '!');
Регуляр ифодани сатрга айлантиринг:
let str = 'x.y xay xby';
let reg = /x\.y/;
let res = str.replace(reg, '!');
Регуляр ифодани сатрга айлантиринг:
let str = 'x\\y';
let reg = /x\\y/;
let res = str.replace(reg, '!');