3
我有這樣一個字符串如下:'(1) (2 (3))'
我想它的正則表達式得到以下陣列:['1', '2 (3)']
另一個例子:'(asd (dfg))(asd (bdfg asdf))(asd)'
- >['asd (dfg)', 'asd (bdfg asdf)', ('asd')]
分割字符串的最頂層括號
我已經試圖搜索如何做這樣的正則表達式,但我只找到了所有()
分裂的,找不到任何東西只過濾它們的最高級別。
這可以通過遞歸來完成'(\((:^()] |(1))* \)?)'。但是,JavaScript中不支持。 – Vallentin
括號不是常規語言(它是Type-2語法,請參閱https://en.wikipedia.org/wiki/Chomsky_hierarchy),所以我認爲通用正則表達式不可能創建 –
所以如果我想分析這個,我將不得不開始令牌解析和東西?這正是我想要避免的。太糟糕了。 –