[問題] 只擷取括號內的資料並且編成同一組

作者: art1 (人,原來不是人)   2018-12-15 00:43:16
語言是 javascript
假設資料如下
(a)
(b)(c)
(d)(e)(f)
括號內的都是想擷取的資料
但分成三筆來擷取
第一筆的 a 會放在 group 1
第二筆的 b c 會分別放在 group 1 跟 group 2
第三筆的 d e f 會分別放在 group 1 跟 group 2 跟 group 3
目前的解法很醜,就是同個規則不斷重複加上去,直到重複次數可以滿足需求為止
\((\w)\)(?:\((\w)\))?(?:\((\w)\))?
想請問是否有除此之外更好的方法?
試過 \((\w)\)(?:\((\w)\)){0,3},在 d e f 的情況下不合要求
作者: x246libra (楓)   2018-12-16 10:05:00
可以給一些測試例子嗎? 看不太懂你想抓什麼類型的資料沒事 我看懂了 思考中恩 我想不到xd
作者: eight0 (欸XD)   2018-12-16 18:20:00
作者: art1 (人,原來不是人)   2018-12-17 00:29:00
要另外寫程式碼處理更麻煩了,這樣的話寧願醜一點
作者: asglay (收收收尾)   2017-01-30 12:26:00
直接使用\w, 然後抓每次match而不是每個group
作者: Gold740716 (項為之強)   2017-06-26 23:47:00
你可以用 g flag/\((\w)\)/g

Links booklink

Contact Us: admin [ a t ] ucptt.com