Bakoverstrek i strenger med regulære uttrykk i JavaScript
I strenger med regulære uttrykk må man escape (faktisk doble) bakoverstreker. La oss se på et eksempel. La oss si at vi har følgende streng:
javascriptlet str = 'xyz';
La oss si at vi har følgende kode med regulært uttrykk:
javascriptlet reg = /\w+/;
let res = str.match(reg);
La oss konvertere det regulære uttrykket til en streng. I dette tilfellet vil vi få et problem med bakoverstreken:
javascriptlet reg = new RegExp('\w+'); // fungerer ikke
let res = str.match(reg);
For å løse problemet dobler vi bakoverstreken:
javascriptlet reg = new RegExp('\\w+'); // fungerer
let res = str.match(reg);
Praktiske oppgaver
Задание 1
Konverter det regulære uttrykket til en streng:
javascriptlet str = 'x1y x12y x123y';
let reg = /x\d+y/;
let res = str.replace(reg, '!');
Задание 2
Konverter det regulære uttrykket til en streng:
javascriptlet str = 'x.y xay xby';
let reg = /x\.y/;
let res = str.replace(reg, '!');
Задание 3
Konverter det regulære uttrykket til en streng:
javascriptlet str = 'x\\y';
let reg = /x\\y/;
let res = str.replace(reg, '!');