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, '!');