JavaScript の正規表現のバックスラッシュ
問題:
引数のリストを連結する JavaScript 関数有効なパスへの挿入は、通常のバックスラッシュの問題により誤動作します。 expression.
分析:
指定された正規表現: /()$|^()/ は、最初と最後のスラッシュとバックスラッシュのすべてに一致しますが、関数内では機能しません。 。 JavaScript は文字列内のバックスラッシュを正規表現とは異なる方法で解釈するため、構文エラーや不正確な一致が発生します。
解決策:
この問題を解決するには、正規表現リテラル (/... /) 置換呼び出しの文字列リテラル ('...' または "...") の代わりに。正規表現リテラルには、JavaScript の文字列処理と競合しないバックスラッシュの独自の解釈があります。
現在の正規表現を次のように置き換えます。
/(\|\/)$|^(\|\/)/
または、文字列リテラルを使用する場合は、推奨:
"(\\|/)$|^(\\|/)"
最適化:
バックスラッシュやスラッシュなどの単一文字の代替を使用する場合は、文字クラス ([... ]) (x|y) 構文の代わりに。これにより、簡略化された正規表現が生成されます:
/[\\/]$|^[\\/]/
以上がパス連結の JavaScript 正規表現でバックスラッシュを正しく処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。