⊗jsSpRESBs 136 of 294 menu

La barra invertida en cadenas de expresiones regulares en JavaScript

En las cadenas con expresiones regulares es necesario escapar (prácticamente duplicar) las barras invertidas. Veamos un ejemplo. Supongamos que tenemos la siguiente cadena:

let str = 'xyz';

Supongamos que tenemos el siguiente código con una expresión regular:

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

Rehagamos la expresión regular en una cadena. En este caso, surgirá un problema con la barra invertida:

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

Para resolver el problema, dupliquemos la barra invertida:

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

Problemas prácticos

Convierta la expresión regular en una cadena:

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

Convierta la expresión regular en una cadena:

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

Convierta la expresión regular en una cadena:

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