АКЦИЯ: бесплатные месячные курсы по созданию сайтов
на выбор: верстка, JavaScript, PHP или фреймворки. Сегодня последний день для записи! Жми!
⊗jsSpRESBs 136 of 294 menu
Бесплатная Тренировка Верстки. Приглашаются желающие поверстать!

Обратный слеш в строках регулярок в JavaScript

В строках с регулярками нужно экранировать (фактически удваивать) обратные слеши. Давайте посмотрим на примере. Пусть у нас есть следующая строка:

let str = 'xyz';

Пусть у нас есть следующий код с регулярным выражением:

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

Давайте переделаем регулярное выражение в строку. В этом случае у нас возникнет проблема с обратным слешем:

let reg = new RegExp('\w+'); // не работает let res = str.match(reg);

Для решения проблемы удвоим обратный слеш:

let reg = new RegExp('\\w+'); // работает let res = str.match(reg);

Практические задачи

Переделайте регулярку в строку:

let str = 'x1y x12y x123y'; let reg = /x\d+y/; let res = str.replace(reg, '!');

Переделайте регулярку в строку:

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

Переделайте регулярку в строку:

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