Kurakaldkriips regulaaravaldiste stringides JavaScriptis
Regulaaravaldiste stringides tuleb kurakaldkriipse ekraneerida (tegelikult kahekordistada). Vaatame seda näite abil. Oletame, et meil on järgmine string:
let str = 'xyz';
Oletame, et meil on järgmine kood regulaaravaldisega:
let reg = /\w+/;
let res = str.match(reg);
Teisendame regulaaravaldise stringiks. Sel juhul tekib meil probleem kurakaldkriipsuga:
let reg = new RegExp('\w+'); // ei tööta
let res = str.match(reg);
Probleemi lahendamiseks kahekordistame kurakaldkriipsu:
let reg = new RegExp('\\w+'); // töötab
let res = str.match(reg);
Praktilised ülesanded
Teisendage regulaaravaldis stringiks:
let str = 'x1y x12y x123y';
let reg = /x\d+y/;
let res = str.replace(reg, '!');
Teisendage regulaaravaldis stringiks:
let str = 'x.y xay xby';
let reg = /x\.y/;
let res = str.replace(reg, '!');
Teisendage regulaaravaldis stringiks:
let str = 'x\\y';
let reg = /x\\y/;
let res = str.replace(reg, '!');