Я запускаю OSX. Предлагаемые решения не помогли мне. Я использую OSX Yosemite. Я перезапустил свой Mac, после чего я удалил VirtualBox, запустив скрипт удаления (который отображается при запуске dmg VirtualBox), а затем переустановил его. Я также удалил и переустановил Genymotion. Теперь все работает гладко.
Я не могу понять, почему этот код не заменяет foo на bar
Потому что точка .
явно не соответствует символам новой строки.
Это будет работать:
"foo\r\nbar".replace(/foo[\s\S]+/m, "bar")
, потому что символы новой строки считаются пробелами ( \ s
).
Обратите внимание, что круглые скобки вокруг foo
излишни, группировка здесь не дает никаких преимуществ.
JavaScript не поддерживает модификатор dot-all. Обычная замена:
"foo\r\nbar".replace(/(foo)[\s\S]+/, "bar")
/m
заставляет ^
и $
вести себя корректно, но не влияет на .
.