Backslash in regex strings in JavaScript
In strings met reguliere expressies moeten backslashes worden geëscaped (feitelijk verdubbeld). Laten we een voorbeeld bekijken. Stel dat we de volgende string hebben:
javascriptlet str = 'xyz';
Stel dat we de volgende code hebben met een reguliere expressie:
javascriptlet reg = /\w+/;
let res = str.match(reg);
Laten we de reguliere expressie omzetten in een string. In dit geval krijgen we een probleem met de backslash:
javascriptlet reg = new RegExp('\w+'); // werkt niet
let res = str.match(reg);
Om het probleem op te lossen, verdubbelen we de backslash:
javascriptlet reg = new RegExp('\\w+'); // werkt
let res = str.match(reg);
Praktische opdrachten
Задание 1
Zet de reguliere expressie om in een string:
javascriptlet str = 'x1y x12y x123y';
let reg = /x\d+y/;
let res = str.replace(reg, '!');
Задание 2
Zet de reguliere expressie om in een string:
javascriptlet str = 'x.y xay xby';
let reg = /x\.y/;
let res = str.replace(reg, '!');
Задание 3
Zet de reguliere expressie om in een string:
javascriptlet str = 'x\\y';
let reg = /x\\y/;
let res = str.replace(reg, '!');