"
anda
文字を\"
andに置き換える次のスクリプトがあり\a
ます。
'"replace'.replace(/"|a/g, "\\$&");
結果は次のとおりです。\"repl\ace
今、必要なのは\
(エスケープ文字) をに置き換えること\\
です。SyntaxError: Invalid regular expression: missing /
しかし、次のコードを試すと、 Chrome コンソールで例外が発生して失敗しました。
'"re\place'.replace(/"|a|\/g, "\\$&");
正規表現 (Javascript) でエスケープ文字を置き換えるための可能な回避策は何ですか?
アップデート
pblm を単純化すると、なぜ 'rep\lace'.toString() の結果が 'rep\lace' ではなく 'replace' になるのですか?
同じことに関して、私はこれらのコードを試しました、
"re\nlace".toString();
結果re
の改行lace
"re\xlace".toString();
結果SyntaxError: Unexpected token ILLEGAL
。\x は実行可能でないため、b の可能性があります。
Javascriptが文字列値を実行していると思います。しかし、何のために?