0

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

例如,这是字符串

hello foo bar

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

如果我使用管道,结果只有一个匹配。
对于这种模式 /el|llo\sfo/,结果只是el

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

4

1 回答 1

0

Regex 引擎只处理字符串一次。在一个角色被消耗后,它不能被再次处理(环顾不计算在内,因为它们“只是看”)。

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

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

所以唯一的解决方案是你使用两个单独的正则表达式来达到你的目的。

于 2013-04-25T11:16:10.957 回答