Это работает:
var r="xS";
var regex = new RegExp(r); // Anchor at the end
var s="axS";
s = s.replace(regex, "Z");
// Now, s is "aZ"
Но это не
var r="x$";
var regex = new RegExp(r); // Anchor at the end
var s="ax$";
s = s.replace(regex, "Z");
// Now, s is STILL "ax$". NOT "aZ".
Это не работает независимо от того, где «$» находится в строке r
- например, даже если это не в конце.
Во втором бите кода r является «x $$». Почему две символы $ ведут себя иначе друг от друга? –
@MichaelMyers - я удалил $ с конца регулярного выражения. Это была красная селедка от выхода кода (правый бок), но не повлияла на проблему. – DVK
Почему downvote? – DVK