Backslash in Regex Strings in JavaScript
In Strings mit Regular Expressions müssen Backslashes maskiert (faktisch verdoppelt) werden. Schauen wir uns ein Beispiel an. Nehmen wir den folgenden String:
let str = 'xyz';
Nehmen wir den folgenden Code mit einem regulären Ausdruck:
let reg = /\w+/;
let res = str.match(reg);
Lassen Sie uns den regulären Ausdruck in einen String umwandeln. In diesem Fall entsteht ein Problem mit dem Backslash:
let reg = new RegExp('\w+'); // funktioniert nicht
let res = str.match(reg);
Um das Problem zu lösen, verdoppeln wir den Backslash:
let reg = new RegExp('\\w+'); // funktioniert
let res = str.match(reg);
Praktische Aufgaben
Wandeln Sie die Regular Expression in einen String um:
let str = 'x1y x12y x123y';
let reg = /x\d+y/;
let res = str.replace(reg, '!');
Wandeln Sie die Regular Expression in einen String um:
let str = 'x.y xay xby';
let reg = /x\.y/;
let res = str.replace(reg, '!');
Wandeln Sie die Regular Expression in einen String um:
let str = 'x\\y';
let reg = /x\\y/;
let res = str.replace(reg, '!');