Python筆記14 匹配成對括號

2021-09-16 13:07:01 字數 893 閱讀 9763

在做專案中碰到了乙個問題,簡單描述就是正則匹配出了一段字串,現在要對這個字元中中的最外層括號內的內容做修改。

text =

'adfsdfa(asd(da((ss(df())f)()ds()f(d)f))ff)****)'

假設第一次正則匹配出的是上面的字元竄,現在要找到第乙個左括號的對應右括號。正則真的不知道咋寫了,兩個括號中的括號數是不確定的,同時也不能保證右括號一定是最後出現的乙個。沒辦法了我只能字串挨個匹配了,簡易**如下:

text =

'adfsdfa(asd(da((ss(df())f)()ds()f(d)f))ff)****)'

index_start = text.find(

'(')

text_02 = text[index_start:

]index_end =

0t =

0while index_end<

len(text_02)

:if text_02[index_end]

=='('

: t +=

1elif text_02[index_end]

==')'

: t -=

1 index_end +=

1if t ==0:

break

else

:print

('無'

)print

(text_02[

:index_end]

)

這個邏輯就是t初始值為0,每碰到乙個『(』 t+1 每碰到乙個『)』 t-1 這樣成對的括號差值就為1,對這個字串來說第乙個左括號的t值是1,所以與之對應的就是0,故而在0的時候跳出迴圈。

python3 匹配中文

1 usr bin env python2 coding utf 8 3 author leo 4 date 2017 9 27 5 6 78 910 import re11 1213 defget chinese color color name 14 color str u4e00 u9fff ...

python使用正規表示式替換匹配成功的組

正規表示式簡介 正規表示式,又稱正規表示式 正規表示法 正規表示式 規則表示式 常規表示法 英語 regular expression,在 中常簡寫為regex regexp或re 電腦科學的乙個概念。正規表示式使用單個字串來描述 匹程式設計客棧配一系列符合某個句法規則的字串。在很多文字編輯器裡,正...

Less學習筆記5 匹配模式

比如 用css去畫乙個三角 這個時候在頁面上會出現乙個朝下的紅色三角形,如果想讓三角形朝上修改 中的 border color transparent transparent red transparent 但是在ie中,此時的小三角會出現乙個黑色的小背景 此時的處理 根據三角的方向,對border...