⊗jsSpRESBs 136 of 294 menu

Barra invertida em strings de expressões regulares em JavaScript

Em strings que contêm expressões regulares, é necessário escapar (na prática, duplicar) as barras invertidas. Vamos ver um exemplo. Suponha que temos a seguinte string:

let str = 'xyz';

Suponha que temos o seguinte código com uma expressão regular:

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

Vamos converter a expressão regular em uma string. Nesse caso, surgirá um problema com a barra invertida:

let reg = new RegExp('\w+'); // não funciona let res = str.match(reg);

Para resolver o problema, vamos duplicar a barra invertida:

let reg = new RegExp('\\w+'); // funciona let res = str.match(reg);

Problemas práticos

Converta a expressão regular em uma string:

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

Converta a expressão regular em uma string:

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

Converta a expressão regular em uma string:

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