日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

在python中,用正则表达式提取多层括号中最外层括号包含的内容

發布時間:2024/9/30 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在python中,用正则表达式提取多层括号中最外层括号包含的内容 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

提取多層括號中最外層括號包含的內容有幾種方式,那么用正則表達式該怎么實現呢?

在python中,用正則表達式提取多層括號中最外層括號包含的內容
比如有一個字符串 :
學習python中有什么不懂的地方,小編這里推薦加小編的python學習群:895,817, 687
有任何不懂的都可以在里面交流,還有很好的視頻教程pdf學習資料,大家一起學習交流!

CPU( .CPU_1(f1), .CPU0(t0), .CPU1(t1), .CPU2(t2), .CPU3(t3) );

我想要提取

.CPU_1(f1), .CPU0(t0), .CPU1(t1), .CPU2(t2), .CPU3(t3)

這些內容,那么如何實現呢?

還有的一種情況是對于

a(bc(d)ef)g(h(i)(j)k)這段字符串要提取出

bc(d)ef 和 h(i)(j)k 兩個字串,所以不能用貪婪匹配。

用棧可以實現,但想知道有沒有用正則表達式更方便的辦法。
問題分析
不規則嵌套結構的分析

最好還是用棧

如果已經確定嵌套的結構

才可以考慮使用正則

先用貪婪取出整體的數據

然后對數據規劃出相似的結構

第一個很簡單就不用說了

第二個可以寫成這樣

(?: # 相似結構的分組\w* # 括號前可能存在的內容\( # 左括號[^()]+ # 非括號內容\) # 右括號 )+ # 多個相似的結構 \w* # 剩余的沒有括號的內容

需要注意的是正則在這樣的條件下可用性并不高

因為嵌套結構如果改變了

就得修改或重新編寫

唯一能通用的是遞歸結構(比如回文)

但正則的遞歸用法也只有PHP等少數語言支持

所以在Python中還是自己寫算法好一點

總結

以上是生活随笔為你收集整理的在python中,用正则表达式提取多层括号中最外层括号包含的内容的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。