Kurakaldkriips regulaaravaldiste stringides JavaScriptis

Regulaaravaldiste stringides tuleb kurakaldkriipse ekraneerida (tegelikult kahekordistada). Vaatame seda näite abil. Oletame, et meil on järgmine string:

javascriptlet str = 'xyz';

Oletame, et meil on järgmine kood regulaaravaldisega:

javascriptlet reg = /\w+/;
let res = str.match(reg);

Teisendame regulaaravaldise stringiks. Sel juhul tekib meil probleem kurakaldkriipsuga:

javascriptlet reg = new RegExp('\w+'); // ei tööta
let res = str.match(reg);

Probleemi lahendamiseks kahekordistame kurakaldkriipsu:

javascriptlet reg = new RegExp('\\w+'); // töötab
let res = str.match(reg);

Praktilised ülesanded

Задание 1

Teisendage regulaaravaldis stringiks:

javascriptlet str = 'x1y x12y x123y';
let reg = /x\d+y/;
let res = str.replace(reg, '!');
Задание 2

Teisendage regulaaravaldis stringiks:

javascriptlet str = 'x.y xay xby';
let reg = /x\.y/;
let res = str.replace(reg, '!');
Задание 3

Teisendage regulaaravaldis stringiks:

javascriptlet str = 'x\\y';
let reg = /x\\y/;
let res = str.replace(reg, '!');