Omvänt snedstreck i strängar med reguljära uttryck i JavaScript
I strängar med reguljära uttryck måste omvända snedstreck escapes (i praktiken fördubblas). Låt oss titta på ett exempel. Antag att vi har följande sträng:
javascriptlet str = 'xyz';
Antag att vi har följande kod med ett reguljärt uttryck:
javascriptlet reg = /\w+/;
let res = str.match(reg);
Låt oss omvandla det reguljära uttrycket till en sträng. I det här fallet uppstår ett problem med det omvända snedstrecket:
javascriptlet reg = new RegExp('\w+'); // fungerar inte
let res = str.match(reg);
För att lösa problemet fördubblar vi det omvända snedstrecket:
javascriptlet reg = new RegExp('\\w+'); // fungerar
let res = str.match(reg);
Praktiska uppgifter
Задание 1
Omvandla det reguljära uttrycket till en sträng:
javascriptlet str = 'x1y x12y x123y';
let reg = /x\d+y/;
let res = str.replace(reg, '!');
Задание 2
Omvandla det reguljära uttrycket till en sträng:
javascriptlet str = 'x.y xay xby';
let reg = /x\.y/;
let res = str.replace(reg, '!');
Задание 3
Omvandla det reguljära uttrycket till en sträng:
javascriptlet str = 'x\\y';
let reg = /x\\y/;
let res = str.replace(reg, '!');