ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript 文字列および正規表現でバックスラッシュを適切にエスケープするにはどうすればよいですか?
文字列内の単一のバックスラッシュ: 包括的なガイド
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 サイトの他の関連記事を参照してください。