Regex-Zeichenkette in JavaScript
Reguläre Ausdrücke können als Zeichenketten dargestellt werden. Dies ist nützlich, wenn Sie Variablen in Regex einfügen oder diese dynamisch bilden müssen.
Schauen wir uns ein Beispiel an. Nehmen wir an, wir haben die folgende Zeichenkette:
let str = 'img.png';
Nehmen wir an, wir wenden den folgenden regulären Ausdruck auf diese Zeichenkette an:
let reg = /\.(png|jpg)$/;
let res = str.match(reg);
Lassen Sie uns diesen regulären Ausdruck
als Zeichenkette umschreiben. Dies geschieht mit Hilfe
des speziellen Objekts RegExp:
let reg = new RegExp('\.(png|jpg)$');
let res = str.match(reg);
Lassen Sie uns nun einen Teil des Regex in eine Variable auslagern und sie durch Verkettung einfügen:
let pat = 'png|jpg';
let reg = new RegExp('\.(' + pat + ')$');
let res = str.match(reg);
Und nun fügen wir die Variable mit Template-Literals ein:
let pat = 'png|jpg';
let reg = new RegExp(`\.(${pat})$`);
let res = str.match(reg);
Lassen Sie uns nun einen Teil des Regex aus einem Array bilden:
let exts = ['png', 'jpg'];
let pat = exts.join('|');
let reg = new RegExp(`\.(${pat})$`);
let res = str.match(reg);
Praktische Aufgaben
Lagern Sie die Namen der Top-Level-Domains in eine separate Variable aus:
let reg = /^[a-z]+\.(ru|by|ua)$/;
let res = reg.test(str);
Modifizieren Sie die vorherige Aufgabe unter Berücksichtigung, dass die Top-Level-Domains in Form eines Arrays gespeichert sind:
let arr = ['ru', 'by', 'ua'];