のは、私は、この文字列なぜこのRegExpはString.replaceでバックスラッシュを削除していますか?
があるとしましょう、私はいくつかの文字列で$プロジェクト名$のすべての出現箇所を交換したいです。例えば。 TESTでそれを交換すると得られるはず:
"examples\output\TEST\TEST.csproj"
を、私はこれを達成するために来ている最も近いです:
得("examples\output\$projectname$\$projectname$.csproj")
.replace(new RegExp("\\$projectname\\$", "g"), "TEST");
:
"examplesoutputTESTTEST.csproj"
を書く場合でも...
("examples\output\$projectname$\$projectname$.csproj")
.replace(new RegExp("output", "g"), "TEST");
...これにより、まだb
"examplesTEST$projectname$$projectname$.csproj"
なぜこれが起こるのですか?これを防止するにはどうすればよいですか?
私は間違っているかもしれませんが、あなたはエスケープ文字( '/')をバックスラッシュの前に置く必要があると思います。 –
これは正規表現ではなく、最初の文字列が間違っているだけです。 [read](https://stackoverflow.com/questions/3903488/javascript-backslash-in-variables-is-causing-an-error) – James