2013-04-25 60 views
0

我想加入/合併正則表達式的結果。合併/加入突出顯示的正則表達式結果

例如,這是字符串

hello foo bar 

用於圖案在正則表達式結果/el/ =>el
用於圖案在正則表達式結果/llo\sfo =>llo fo

如果我使用管,所述結果只有一場比賽。
此圖案/el|llo\sfo/結果只有el

我期望的結果應該是ello fo
的使用情況是用於在文本突出顯示多個圖案。

+1

問題是匹配不能重疊(甚至沒有全局的'g'修飾符)。我想,你必須獨立地搜索模式。 – 2013-04-25 10:54:02

回答

0

正則表達式引擎只處理一次字符串。一個角色被消耗後,它不能再被處理(由於他們「看起來」,Lookarounds不算這件事)。

由於您的模式需要在您的示例字符串上「重疊」,它們將永遠不會匹配(在一個正則表達式中)。然而,他們將與全球標誌g和下面的輸入:

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

因此,唯一的解決辦法是,使用兩個單獨的正則表達式爲你的目的。