⊗jsSpRESBs 136 of 294 menu

Zpětné lomítko v řetězcích regulárních výrazů v JavaScriptu

V řetězcích s regulárními výrazy je třeba escapovat (v podstatě zdvojit) zpětná lomítka. Podívejme se na příklad. Předpokládejme, že máme následující řetězec:

let str = 'xyz';

Předpokládejme, že máme následující kód s regulárním výrazem:

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

Přepišme regulární výraz do řetězce. V tomto případě narazíme na problém se zpětným lomítkem:

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

Pro vyřešení problému zdvojíme zpětné lomítko:

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

Praktické úlohy

Přepište regulární výraz do řetězce:

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

Přepište regulární výraz do řetězce:

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

Přepište regulární výraz do řetězce:

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