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

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

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-04 12:27:04828ブラウズ

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

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

JavaScript では、バックスラッシュ文字は文字列と正規表現の両方で重要な意味を持ちます。これにより、テキストにスタンドアロンのバックスラッシュを含めようとするときに問題が発生します。これを実現するには、2 つの連続したバックスラッシュ () を使用してバックスラッシュをエスケープする必要があります。

文字列

文字列を作成する場合、最初のバックスラッシュはエスケープ文字として機能します。 2 番目は実際のバックスラッシュを表します。例:

const str = "\"\I have one backslash\"";
console.log(str); // \I have one backslash

正規表現

同様に、正規表現では、単一のバックスラッシュと一致するには、2 つの連続するバックスラッシュが必要です。これは、最初のバックスラッシュが正規表現リテラル内でエスケープ文字として機能するためです。例:

const regex = /\/; // Match a single backslash

文字列を使用した正規表現の作成

文字列を使用して正規表現を作成する場合は、2 つのレベルのエスケープを考慮することが重要です。まず、文字列内でバックスラッシュをエスケープし、作成した正規表現内で再度エスケープする必要があります。したがって、合計 4 つのバックスラッシュが必要です。

const regex = new RegExp("\\"); // Matches a single backslash using a string

ES2015 および ES2018 の更新

最近の JavaScript バージョンでは、テンプレート リテラルにより、文字列にバックスラッシュを含める代替方法が提供されます。 。 String.raw 関数を使用してこれを実現することもできます。

const str = String.raw`\apple`; // Valid ES2015 syntax

テンプレート リテラルは、${ 文字を含む置換をサポートしていないため、慎重に使用する必要があることに注意してください。テンプレート リテラル内に ${ を含めると、次の例のように文字列にバックスラッシュが含まれます:

const foo = "bar";
const str = String.raw`\apple${foo}`; // Results in \applebar

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。