Backslashes in Strings maskieren
In JavaScript hat das Backslash-Zeichen sowohl in Strings als auch in regulären Ausdrücken eine Bedeutung. Dies führt zu Herausforderungen, wenn versucht wird, einen eigenständigen Backslash in den Text einzufügen. Um dies zu erreichen, ist es notwendig, den Backslash mit zwei aufeinanderfolgenden Einsen zu maskieren ().
Strings
Beim Erstellen von Strings fungiert der erste Backslash als Escape-Zeichen, while der zweite stellt den eigentlichen Backslash dar. Zum Beispiel:
const str = "\"\I have one backslash\""; console.log(str); // \I have one backslash
Reguläre Ausdrücke
In ähnlicher Weise sind in regulären Ausdrücken zwei aufeinanderfolgende Backslashes erforderlich, um einem einzelnen Backslash zu entsprechen. Dies liegt daran, dass der erste Backslash als Escape-Zeichen innerhalb des regulären Ausdrucksliterals dient. Zum Beispiel:
const regex = /\/; // Match a single backslash
Verwenden von Zeichenfolgen zum Erstellen regulärer Ausdrücke
Bei der Verwendung von Zeichenfolgen zum Erstellen regulärer Ausdrücke ist es wichtig, zwei Escape-Ebenen zu berücksichtigen. Zuerst müssen Backslashes innerhalb der Zeichenfolge mit Escapezeichen versehen werden und dann erneut innerhalb des erstellten regulären Ausdrucks. Folglich sind insgesamt vier Backslashes erforderlich.
const regex = new RegExp("\\"); // Matches a single backslash using a string
ES2015- und ES2018-Updates
In neueren JavaScript-Versionen stellen Vorlagenliterale eine alternative Methode zum Einfügen von Backslashes in Zeichenfolgen dar . Um dies zu erreichen, kann auch die Funktion String.raw verwendet werden.
const str = String.raw`\apple`; // Valid ES2015 syntax
Es ist zu beachten, dass Vorlagenliterale mit Vorsicht verwendet werden sollten, da sie keine Ersetzungen mit ${-Zeichen unterstützen. Das Einfügen von ${ in ein Vorlagenliteral führt dazu, dass der Backslash in die Zeichenfolge eingefügt wird, ähnlich dem folgenden Beispiel:
const foo = "bar"; const str = String.raw`\apple${foo}`; // Results in \applebar
Das obige ist der detaillierte Inhalt vonWie entkomme ich Backslashes in JavaScript-Strings und regulären Ausdrücken?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!