ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript 文字列および正規表現でバックスラッシュを適切にエスケープするにはどうすればよいですか?

JavaScript 文字列および正規表現でバックスラッシュを適切にエスケープするにはどうすればよいですか?

DDD
リリース: 2024-12-16 22:16:17
オリジナル
617 人が閲覧しました

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

文字列内の単一のバックスラッシュ: 包括的なガイド

JavaScript では、文字列内で単一のバックスラッシュを使用することは、その特別な意味のため注意が必要な場合があります文字列と正規表現の両方で。値内で実際のバックスラッシュを取得するには、エスケープ シーケンスを使用する必要があります。

文字列内のバックスラッシュのエスケープ

JavaScript 文字列リテラルにリテラルのバックスラッシュを含めるには、次を使用します。二重バックスラッシュ ()。例:

var str = "\I have one backslash";
ログイン後にコピー

このシナリオでは、最初のバックスラッシュはエスケープ文字として機能し、後続の文字を文字通りに扱う必要があることを示します。その結果、変数 str には 1 つのバックスラッシュを含む文字列が含まれます。

正規表現でのバックスラッシュのエスケープ

正規表現でもバックスラッシュが使用されるため、区別することが重要です。実際のバックスラッシュとエスケープシーケンスの間。正規表現内のリテラルのバックスラッシュと一致させるには、二重バックスラッシュ () を使用します。

var rex = /\/;
ログイン後にコピー

文字列からの正規表現の作成

文字列から正規表現を作成する場合、文字列リテラルと正規表現パターンの 2 つのレベルのエスケープが関係します。たとえば、文字列で作成した正規表現を使用して単一のバックスラッシュを照合するには:

// Matches *one* backslash
var rex = new RegExp("\\");
ログイン後にコピー

最初の 2 つのバックスラッシュは文字列リテラル内のバックスラッシュをエスケープし、2 番目の 2 つのバックスラッシュは正規表現内で目的のエスケープ シーケンスを作成します。式パターン。

ES2015 アップデート: String.raw とテンプレートリテラル

ES2015 では、テンプレート リテラルは、余分なエスケープを行わずにリテラルのバックスラッシュを含める代替方法を提供します。

// Using String.raw
let str = String.raw`\apple`;
ログイン後にコピー

注意:

置換式 (${}) は、リテラルを含むテンプレート リテラル内では使用できません。バックスラッシュはリテラルの動作を変更します。

以上がJavaScript 文字列および正規表現でバックスラッシュを適切にエスケープするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート