我有以下正则表达式:/Name:\s+(.*)\s+Company:\s+(.*)\s+Email:\s+(.*)\s+Phone:\s+(.*)\s+Inquiry:\s+(.*)\s+Comments:\s+(.*)/g
我正在针对以下匹配项进行测试:
名称:伦敦布朗
公司:Amazon.com
电子邮件:[email protected]
电话:2065550000
咨询:技术
注释:示例注释
我想修改此RegExp以忽略“查询:技术”是否存在于字符串中,因为此数据有时存在而有时则不存在。这样,以下内容也将被接受:
名称:伦敦布朗
公司:Amazon.com
电子邮件:[email protected]
电话:2065550000
注释:示例注释
由于这是一个单一的脚本,因此我无法控制源数据。
最佳答案
您可以使用可选的非捕获组(?:Inquiry:\s+(.*)\s+)?
例如
Name:\s+(.*)\s+Company:\s+(.*)\s+Email:\s+(.*)\s+Phone:\s+(.*)\s+(?:Inquiry:\s+(.*)\s+)?Comments:\s+(.*)
Regex demo
关于javascript - 忽略两个正则表达式匹配项之间的字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57167723/