合并/加入突出显示的正则表达式结果

合并/加入突出显示的正则表达式结果

问题描述:

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

例如,这是字符串

hello foo bar 

用于图案在正则表达式结果/el/ =>el
用于图案在正则表达式结果/llo\sfo =>llo fo

如果我使用管,所述结果只有一场比赛。
此图案/el|llo\sfo/结果只有el

我期望的结果应该是ello fo
的使用情况是用于在文本突出显示多个图案。

+1

问题是匹配不能重叠(甚至没有全局的'g'修饰符)。我想,你必须独立地搜索模式。 – 2013-04-25 10:54:02

正则表达式引擎只处理一次字符串。一个角色被消耗后,它不能再被处理(由于他们“看起来”,Lookarounds不算这件事)。

由于您的模式需要在您的示例字符串上“重叠”,它们将永远不会匹配(在一个正则表达式中)。然而,他们将与全球标志g和下面的输入:

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

因此,唯一的解决办法是,使用两个单独的正则表达式为你的目的。