合并/加入突出显示的正则表达式结果
问题描述:
我想加入/合并正则表达式的结果。合并/加入突出显示的正则表达式结果
例如,这是字符串
hello foo bar
用于图案在正则表达式结果/el/
=>el
用于图案在正则表达式结果/llo\sfo
=>llo fo
如果我使用管,所述结果只有一场比赛。
此图案/el|llo\sfo/
结果只有el
我期望的结果应该是ello fo
的使用情况是用于在文本突出显示多个图案。
答
正则表达式引擎只处理一次字符串。一个角色被消耗后,它不能再被处理(由于他们“看起来”,Lookarounds不算这件事)。
由于您的模式需要在您的示例字符串上“重叠”,它们将永远不会匹配(在一个正则表达式中)。然而,他们将与全球标志g
和下面的输入:
"helllo foo bar".match(/el|llo\sfo/g)
因此,唯一的解决办法是,使用两个单独的正则表达式为你的目的。
问题是匹配不能重叠(甚至没有全局的'g'修饰符)。我想,你必须独立地搜索模式。 – 2013-04-25 10:54:02