如何使用正则表达式在两个字符串之间替换字符串

时间:2018-08-29 06:54:21

标签: regex

如何在javascript中两个字符串之间替换一个字符串

StartLine = `/*TESTSTART*/`;
Endline   = `/*TESTEND*/`;

OriginalContent = `/*TESTSTART*/ 
testing 
not 
working
/*TESTEND*/`;    
var e = OriginalContent .replace(/(StartLine)[\s\S]*?(Endline)/,' it's 
working
fine');    

OUTPUT = `/*TESTSTART*/ 
it's 
working
fine
/*TESTEND*/`

1)如何在常规exp中检查字符串是否包含/? 2)如果将字符串存储在一个变量中,如何在常规exp中使用此变量?

1 个答案:

答案 0 :(得分:0)

如果您使用/来启动正则表达式,则可以用反斜杠\来转义/字符。但是在这种情况下,由于要在正则表达式中包含变量的值,因此应使用字符串表示正则表达式,在这种情况下,无需转义/,而应转义其他特殊的正​​则表达式字符,例如*,带有两个反斜杠,您只需将变量与其他字符串文字和变量连接起来即可形成完整的正则表达式:

StartLine = '/\\*TESTSTART\\*/';
Endline = '/\\*TESTEND\\*/';

...

var e = OriginalContent.replace(StartLine + '[\s\S]*?' + Endline, "it's 
working
fine");