2015-02-01 2 views
1

Мне нужно заменить old значение между foo{ и }bar с использованием Javascript regex.Заменить многострочный текст между двумя строками

foo{old}bar 

Это работает, если old одна строка:

мне нужно, чтобы он работал с:

foo{old value 
which takes more 
than one line}bar 

Как я должен изменить регулярное выражение?

ответ

4

Измените регулярное выражение,

/(foo{)[^{}]*(}bar)/ 

ИЛИ

/(foo{)[\s\S]*?(}bar)/ 

так, что она будет соответствовать также символ новой строки. [^{}]* соответствует любому символу, но не { или }, ноль или более раз. [\s\S]*? соответствует любому пробелу или не пробелу символов, ноль или более раз не жадному.

+0

Благодарим за быстрый ответ! Я приму это, как только это станет возможно. :) –

+0

Рад, что это сработало :-) –

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