Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 替换两个字符串之间的多行文字_Javascript_Regex_Multiline - Fatal编程技术网

Javascript 替换两个字符串之间的多行文字

Javascript 替换两个字符串之间的多行文字,javascript,regex,multiline,Javascript,Regex,Multiline,我需要使用Javascript正则表达式替换foo{和}bar之间的old值 foo{old}bar 如果old是一行,则此操作有效: replace( /(foo{).*(}bar)/, '$1' + 'new' + '$2' ) 我需要让它与以下各项一起工作: foo{old value which takes more than one line}bar 如何更改正则表达式?将正则表达式更改为 /(foo{)[^{}]*(}bar)/ 或 这样它也会匹配一个换行符[

我需要使用Javascript正则表达式替换
foo{
}bar
之间的
old

foo{old}bar
如果
old
是一行,则此操作有效:

replace(
    /(foo{).*(}bar)/,
    '$1' + 'new' + '$2'
)
我需要让它与以下各项一起工作:

foo{old value
which takes more
than one line}bar
如何更改正则表达式?

将正则表达式更改为

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

这样它也会匹配一个换行符
[^{}]*
匹配任何字符,但不匹配
{
}
中的任何字符,零次或多次<代码>[\s\s]*?匹配任何空格或非空格字符,零次或多次非贪婪匹配。

将正则表达式更改为

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


这样它也会匹配一个换行符
[^{}]*
匹配任何字符,但不匹配
{
}
中的任何字符,零次或多次
[\s\s]*?
匹配任何空格或非空格字符,零次或多次非贪婪。

感谢您的快速回答!我会尽快接受的。:)谢谢你的快速回答!我会尽快接受的。:)