mrg*_*oos 1 javascript regex replace
假设我有这个字符串:
var str = 'abc abcd --from-- xyz xyzz --to-- abc abcdd --from-- xsfkj --to-- abc';
Run Code Online (Sandbox Code Playgroud)
我的方法应删除--from--和之间的所有文本--to--.我认为最好的方法是使用RegEx来做,我只是不知道如何...
我查看了这个解决方案,但结果得到了这个字符串:
console.log(str.replace(/--from--.*--to--/, "")); // result:"abc abcd abc", not good.
Run Code Online (Sandbox Code Playgroud)
此外,是否可以在范围边界中设置参数而不是硬编码文本?
谢谢.
你需要带有懒惰量词的全局标志:
console.log(str.replace(/--from--.*?--to--/g, ""));
//=> abc abcd abc abcdd abc
Run Code Online (Sandbox Code Playgroud)
更新:
您可以在正则表达式中使用变量,如下所示:
var from = '--from--';
var to = '--to--';
var re = new RegExp(from + '.*?' + to, "g");
console.log(str.replace(re, ""));
Run Code Online (Sandbox Code Playgroud)