python之re提取字串中括號內的內容

2021-08-20 06:38:48 字數 554 閱讀 2933

直接上**吧:

import re

string = 'abe(ac)ad)'

p1 = re.compile(r'[(](.*?)[)]', re.s) #最小匹配

p2 = re.compile(r'[(](.*)[)]', re.s) #貪婪匹配

print(re.findall(p1, string))

print(re.findall(p2, string))

輸出:
['ac']

['ac)ad']

解釋一下:

1.正則匹配串前加了r就是為了使得裡面的特殊符號不用寫反斜槓了。

2.[ ]具有去特殊符號的作用,也就是說[(]裡的(只是平凡的括號

3.正則匹配串裡的()是為了提取整個正則串中符合括號裡的正則的內容

4. .是為了表示除了換行符的任一字元。*克林閉包,出現0次或無限次。

5. 加了?是最小匹配,不加是貪婪匹配。

6. re.s是為了讓.表示除了換行符的任一字元。

python提取字串中數字

題目 這是乙個複雜問題的簡化 如下是乙個字串列表,提取字串中第二個數字,並判斷是否大於1000,如果是,從列表中刪除這一行。1000 t1002 n 省略 coding utf 8 oldstr 1000 t1002 n newstr oldstr 匹配目標數字左側字串 t newstr.index...

python如何提取字串?

在python中,要提取文字的字串,有多中方法,如使用正規表示式,beautifulsoup或xpath等來提取。下面講解用正規表示式來提取字串。一 單個位置的字串提取 這種情況我們可以使用 這個正規表示式來提取。舉例,乙個字串 a123b 如果我們想提取ab之間的值123,可以使用findall配...

提取 字串中 數字

include include include void main l if find break 有數字則退出迴圈 else printf 沒有數字 請重新輸入 n gets c 沒有則重新出入 l strlen c l strlen c printf 字串長度為 d n l for i 0 i ...