Heim >Web-Frontend >js-Tutorial >Wie entkomme ich Backslashes in JavaScript-Strings und regulären Ausdrücken?

Wie entkomme ich Backslashes in JavaScript-Strings und regulären Ausdrücken?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-04 12:27:04828Durchsuche

How Do I Escape Backslashes in JavaScript Strings and Regular Expressions?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn