正则表达式javascript删除另一个字符串后面/前面/分隔的字符串

正则表达式javascript删除另一个字符串后面/前面/分隔的字符串,javascript,regex,Javascript,Regex,大家好,正则表达式专家 问题一 我想找到子字符串“delimiter”并删除它以及它后面的任何内容 结果就是“弗雷德·罗伯特” var originalstring = 'fredrobertdelimitergarysusan'; var result = orig.match(/* not sure what goes here*/); console.log('result = ',result); //fredrobert 问题二 我想找到子字符串“deli

大家好,正则表达式专家

问题一 我想找到子字符串“delimiter”并删除它以及它后面的任何内容 结果就是“弗雷德·罗伯特”

var originalstring = 'fredrobertdelimitergarysusan';
var result = orig.match(/* not sure what goes here*/);              
console.log('result = ',result); //fredrobert
问题二 我想找到子字符串“delimiter”并删除它以及它前面的任何内容 所以结果是“garysusan”

var originalstring = 'fredrobertdelimitergarysusan';
var result = orig.match(/* not sure what goes here*/);              
console.log('result = ',result); //garysusan
问题三 我想找到子字符串“delimiterA”和“delimiterB”,删除它们以及它们之间的内容,结果是“fredsausan”

var originalstring = 'freddelimiterArobertgarydelimiterBsusan';
var result = orig.match(/* not sure what goes here*/);              
console.log('result = ',result);  //fredsusan
将单词“delimiter”及其后面的所有内容与字符串结尾匹配:

/delimiter.*$/
“分隔符”及其前面的所有内容:

/^.*delimiter/
“delimiterA”、“delimiterB”以及以下各项之间的所有内容:

/delimiterA.*delimiterB/

这里的关键是使用
.replace()
,而不是
.match()
.match()
查找与模式匹配但不替换模式的文本
.replace()
,好吧,它取代了它

问题一

使用.replace(),而不是.match():

问题二

再次使用.replace():

问题三

在分隔符之间使用.replace()替换为
*

var originalstring = 'freddelimiterArobertgarydelimiterBsusan';
var result = orig.replace(/delimiterA.*delimiterB/, '');              
console.log('result = ',result);  //fredsusan

您可以将字符串索引功能用于其中的两个,并搜索子字符串
分隔符
,然后在该位置之前或之后获取子字符串(加上
分隔符
长度)。对于第三个,考虑<代码> /^(**)分隔符。*分隔符(**)$/< /代码>。这是本文的中间部分
var originalstring = 'fredrobertdelimitergarysusan';
var result = orig.replace(/.*delimiter/, '');
console.log('result = ',result); //garysusan
var originalstring = 'freddelimiterArobertgarydelimiterBsusan';
var result = orig.replace(/delimiterA.*delimiterB/, '');              
console.log('result = ',result);  //fredsusan