正則匹配大括號內的逗號

時間 2021-08-30 10:26:31

1樓:匿名使用者

這個確實比較困難啊。

主要難度在你的大括號的巢狀。

如果你的大括號的巢狀是成對出現的,我倒是有個思路,如果可行,你倒是可以試一下:

1、正則語句:\]+\}

這句話可以取到最內層的「」,如果沒有巢狀就直接取出來了,比如:廣州,佛山}},

取出了:和

這是可以對取出的這2個替換逗號,然後將大括號替代成其他字元,比如「#」和「$」,然後再次使用正則匹配,這個就是遞迴了。

2、與上面的類似,不是反其道

正則語句:\}[^\]+」「」的全部資料,也就是說一次性找出大括號外的資料,這種方法不能找出第乙個之後的資料,這個很撿到,檢索一次就好。將這些資料的逗號替換成其他字元,如「#」,然後將其他的逗號替換成你想要的字元,最後將「#」替換回逗號,結束。

個人感覺兩種方法都可行,第二種方法比較簡單,不需要遞迴,僅供參考。

2樓:何宜校

用你的寫的匹配出來大括號內所有內容以後,結果中再匹配一次逗號即可。

3樓:暢旺牢學民

你的已經是寫「對」了的,只不過你沒有提取數字而已。改一下模式:'/\(([\s\s]*?

)\)/',這樣就能利用$matchplayers[1]得到你要的數字了。在模式中,括號有子模式的作用,也就是從左到右,括號引起的資料從1開始到n,在匹配結果中用下標1到n提取。$matchplayers[0]則是總結果。

詳細參考php手冊。

C括號匹配問題演算法,C 正規表示式匹配 圓括號「 」 和「 」出錯

const char right const char left boolean isvalid true foreach char item in targetvalue if queue.count 匹配 else console.writeline 不匹配 console.readkey 你用...

把幾個數用大括號圍起來,中間用逗號斷開,如1,2, 32,7,4分之3,19,我們稱之

雲隨心 解 1 6 1 5不屬於集合,它不是好集合 6 2 8 6 5 1,6 3 3 是好集合 2 和3 希望可以幫到你,請採納 把幾個數用大括號圍起來,中間用逗號斷開,如 1,2,3 2,7,3 4 19 我們稱之為 1 5 1 4 不是好的集合,5 4 1,5 2 7,5 2.5 2.5,是好...

C語言關於大括號的使用,c語言中的 大括號的使用,什麼時候需要什麼 ?

稅家連清舒 你確定if y 10 是屬於第二個for迴圈的嗎?顯然不可能是,因為第二個for迴圈中,y 9,那麼if y 10 永遠不可能成立了,寫在那裡有什麼意義?這是列印乘法口訣的吧?include intmain void printf n 翥甾天下 其實這是有一個竅門的,在迴圈for whi...