Ответ 1
Я не могу понять, почему этот код не заменяет foo на bar
Поскольку точка .
явно не соответствует символам новой строки.
Это будет работать:
"foo\r\nbar".replace(/foo[\s\S]+/m, "bar")
потому что символы новой строки считаются пробелами (\s
).
Обратите внимание, что круглые скобки вокруг foo
являются излишними, группировка здесь не имеет преимуществ.