在Javascript中组合两个正则表达式

在Javascript中组合两个正则表达式,javascript,regex,Javascript,Regex,我需要一个正则表达式,在以下场景中提取作者 作者就主题11-10-2018给收件人的信 作者关于主题10-11-2018的信函 我尝试了以下步骤,这就是我所拥有的: let commaRegex = new RegExp(/(?<=from) (.+?),/, 'gi','$1'); let fromToRegex = new RegExp(/(?<=from) (.+?) (?=to)/, 'gi','$1'); let combinedRegex = new RegExp(co

我需要一个正则表达式,在以下场景中提取作者

作者就主题11-10-2018给收件人的信

作者关于主题10-11-2018的信函

我尝试了以下步骤,这就是我所拥有的:

let commaRegex =  new RegExp(/(?<=from) (.+?),/, 'gi','$1');
let fromToRegex = new RegExp(/(?<=from) (.+?) (?=to)/, 'gi','$1');
let combinedRegex = new RegExp(commaRegex + '|' + fromToRegex);
let author = document.getElementById('userInput').value.match(combinedRegex);
console.log(author) 

让commaRegex=new RegExp(/(?无需“自动”组合它们,只需对最后一部分使用or运算符:

(?<=from )(.+?)(?=,| to)

然后从匹配项中选择第一组:
.match(…)[1]

无需“自动”组合它们,只需对最后一部分使用or运算符:

(?<=from )(.+?)(?=,| to)

然后从匹配项中选择第一组:
.match(…)[1]

除了georg提供的解决方案之外,以防您想要组合其他两个不容易被一个替代的组:

您必须添加源,而不是整个对象:


让commaRegex=new RegExp(/(?除了georg提供的解决方案之外,以防您想要将其他两个不太容易被一个替代的组合起来:

您必须添加源,而不是整个对象:


让commaRegex=new RegExp(/(?你是否正确地阅读了这些方法?他们使用的是
regex.source
-你也厌倦了使用这些方法吗?你想得到哪个词?@IslamElshobokshy我试图得到作者的名字,这个名字总是会有所不同,但会介于“from”和“to”或“from”和“a”之间,“你是否正确地阅读了这些方法?”他们告诉我们e
regex.source
-你也厌倦了使用这个词吗?你想得到哪个词?@IslamElshobokshy我想得到作者的名字,这个名字总是会有所不同,但会介于“from”和“to”之间,或者介于“from”和“a”之间