Backslash nelle stringhe delle regex in JavaScript
Nelle stringhe con le espressioni regolari è necessario escapeare (praticamente raddoppiare) i backslash. Diamo un'occhiata a un esempio. Supponiamo di avere la seguente stringa:
javascriptlet str = 'xyz';
Supponiamo di avere il seguente codice con un'espressione regolare:
javascriptlet reg = /\w+/;
let res = str.match(reg);
Convertiamo l'espressione regolare in una stringa. In questo caso, avremo un problema con il backslash:
javascriptlet reg = new RegExp('\w+'); // non funziona
let res = str.match(reg);
Per risolvere il problema, raddoppiamo il backslash:
javascriptlet reg = new RegExp('\\w+'); // funziona
let res = str.match(reg);
Problemi pratici
Задание 1
Converti l'espressione regolare in una stringa:
javascriptlet str = 'x1y x12y x123y';
let reg = /x\d+y/;
let res = str.replace(reg, '!');
Задание 2
Converti l'espressione regolare in una stringa:
javascriptlet str = 'x.y xay xby';
let reg = /x\.y/;
let res = str.replace(reg, '!');
Задание 3
Converti l'espressione regolare in una stringa:
javascriptlet str = 'x\\y';
let reg = /x\\y/;
let res = str.replace(reg, '!');