Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 合并/连接正则表达式结果以突出显示_Javascript_Regex_Highlight_Highlighting - Fatal编程技术网

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

Javascript 合并/连接正则表达式结果以突出显示,javascript,regex,highlight,highlighting,Javascript,Regex,Highlight,Highlighting,我想加入/合并正则表达式的结果 例如,这是字符串 hello foo bar 模式的正则表达式结果/el/=>el 模式/llo\sfo=>llo fo 如果我使用管道,结果只有一个匹配。 对于此模式,结果仅为el 我想要的结果应该是ello fo 用例用于突出显示文本中的多个模式。正则表达式引擎只处理字符串一次。在一个角色被使用后,它就不能再被处理了(Lookarounds不算这个问题,因为它们“只是看”) 因为模式需要在示例字符串上“重叠”,所以它们永远不会匹配在一起(在一个正则表达式中)

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

例如,这是字符串

hello foo bar
模式的正则表达式结果
/el/
=>
el

模式
/llo\sfo
=>
llo fo

如果我使用管道,结果只有一个匹配。
对于此模式,结果仅为
el

我想要的结果应该是
ello fo


用例用于突出显示文本中的多个模式。

正则表达式引擎只处理字符串一次。在一个角色被使用后,它就不能再被处理了(Lookarounds不算这个问题,因为它们“只是看”)

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

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

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

问题是匹配不能重叠(即使使用全局
g
修饰符也不能重叠)。我想,你必须独立地搜索模式。