謝謝你看我的問題。Regular Expression Alternatives(All Matches)
我有替代品的一個長長的清單,我想在一個正則表達式匹配:
var re = new RegExp('o1|o2|o3|o4|o5|...','g')
的問題,我遇到的是,如果O1 O2是一個字符串會發生什麼。例如
var re = new RegExp('a|b|c|ab|abc','g')
var s = 'abc'
s.match(re)
- > [ 「A」, 「B」, 「C」]
我想爲它也能夠匹配的「AB 「和」abc「。我意識到如果我改變RegExp的順序,我可以讓它匹配更長的字符串,但我真的想獲得所有匹配。
這樣做的最好方法是什麼?這並不一定是處理一長串替代品的最佳(或好方法)。我想過用自己的正則表達式來測試每個替代方案,但這似乎效率較低。
任何指導都會很棒。謝謝!
所以,你要的所有可能的匹配這些替代品?我不認爲只有一個表達式纔有可能。 –
是的,那是我想要的。過去我使用過這個解決方案,我有一個沒有重疊的選項列表,它比檢查每個選項的自己的正則表達式或使用indexOf更快。我認爲,因爲替代方案中可能存在重疊,我只需要遍歷列表: -/ – bobjenkins1234