合并/连接正则表达式结果以突出显示

时间:2013-04-25 10:36:31

标签: javascript regex highlight highlighting

我想加入/合并正则表达式的结果。

例如,这是字符串

hello foo bar

模式/el/ =>的正则表达式结果el
模式/llo\sfo =>的正则表达式结果llo fo

如果我使用烟斗,结果只有一个匹配 对于此模式/el|llo\sfo/,结果仅为el

我想要的结果应该是ello fo
用例用于突出显示文本中的多个模式。

1 个答案:

答案 0 :(得分:0)

Regex引擎只处理字符串一次。消耗了一个角色后,它就无法再次处理(Lookarounds不计算那件事,因为它们“只是看”)。

由于您的模式需要在示例字符串上“重叠”,因此它们永远不会匹配在一起(在一个正则表达式中)。但是,他们会使用全局标记g和以下输入:

"helllo foo bar".match(/el|llo\sfo/g)

因此,唯一的解决方案是您使用两个单独的正则表达式。