2010-03-18 7 views
2

почему следующее выражение JS:Weird Javascript Regex Заменить обратная ссылка поведения

"test1 foo bar test2".replace(/foo.bar/, "$'") 

результат в следующей строке?

"test1 test2 test2" 

является $' в строке заменить какое-то код управления для включения всех после матча ???

это поведение было привинчивание со мной большую часть дня. может кто-нибудь объяснить это?

Большого спасибо

ps- это так во всех браузерах я опробованный

ответ

6

В регулярных выражениях параметра замены, вам нужно, чтобы избежать $:

"test1 foo bar test2".replace(/foo.bar/, "$$'") 

$' вставки часть строки, которая следует за подстрокой.
См. documentation.

+0

правый, прохладный. я знал, что вам нужно избегать знаков доллара (для случаев, таких как $ 0 или $ 1), но не знал, для чего нужен $. спасибо за ссылку – arshaw

Смежные вопросы