我正在寻找一个javascript正则表达式来删除两个单词之间的所有行,包括单词。我可以找到这样的东西
Dim input = "one two three four START four five four five six END seven"
Dim output = Regex.Replace(input, "(?<=START.*)four(?=.*END)", "test")
这是针对VB的,此外,它不适用于多行,还会删除开始和结束。
我该如何解决这个问题?
答案 0 :(得分:0)
This expression可以捕获start
和end
之间的不需要的文本,包括新行:
START([\s\S]*)END
该图将表达式可视化,并且如果需要,您可以在此link中测试其他表达式:
此JavaScript代码段返回100万次for
循环以提高性能。您可以简单地删除for,而这可能正是您想要的:
const repeat = 1000000;
const start = Date.now();
for (var i = repeat; i >= 0; i--) {
const string = 'anything you wish before START four five four \n \n \n \n five six END anything you wish after';
const regex = /(.*START)([\s\S]*)(.*END)/gm;
var match = string.replace(regex, "$1 $3");
}
const end = Date.now() - start;
console.log("YAAAY! \"" + match + "\" is a match ");
console.log(end / 1000 + " is the runtime of " + repeat + " times benchmark test. ");
如果您希望用新行替换字符串中的一个单词,this expression可能会有所帮助: