re模塊

search()方法
此方法是在整個字符串中查找滿足匹配條件的字符或者字符串,一旦找到一個就不再繼續查找,並返回包含查找值的對象,可以用.group()方法進行查看,如下:

>>> import re
>>> str = 'one1two2three3'
>>> ret  = re.search('\d',str)
>>> print(ret)
<_sre.SRE_Match object; span=(3, 4), match='1'>
>>> print(ret.group())
1
>>>

match()方法
此方法是用來從開頭位置查找是否滿足匹配條件,如果沒有就會返回None,如果有,則會返回一個包含查找值的對象,可以用group()方法進行查看,如下:

>>> import re
>>> str = 'one1two2three3'
>>> ret=re.match('\d',str)
>>> print(ret)
None
>>> str2 = '1wds3cs'
>>> ret = re.match('\d',str2)
>>> print(ret)
<_sre.SRE_Match object; span=(0, 1), match='1'>
>>> print(ret.group())
1

findall()方法
此方法是在整個字符串中匹配指定字符或者字符串,並且將所有滿足條件的結果返回到一個列表中,如下:

1 ret = re.findall('a','abac')
2 print(ret)  #['a', 'a']

3 ret = re.findall('ab','abac')
4 print(ret)  #['ab']

sub()以及subn()方法

1 ret = re.sub('\d', '*', 'a1b2c3')#將數字替換成'*',默認替換所有的數字
2 print(ret) #a*b*c*
3 
4 ret = re.sub('\d', '*', 'a1b2c3', 1)#將數字替換成'*',參數1表示只替換1個
5 print(ret) #a*b2c3
6 
7 ret = re.subn('\d', '*', 'a1b2c3')#將數字替換成'*',返回一個元祖(替換後的字符串,替換的次數)
8 print(ret) #('a*b*c*', 3)

compile()方法
此方法是先把正則表達式編譯好,以方便多次使用,如下:

1 obj = re.compile('\d{3}') 
#將正則表達式編譯成爲一個 正則表達式對象,規則要匹配的是3個數字
2 ret = obj.search('abc123eeee') 
#正則表達式對象調用search,參數爲待匹配的字符串
3 print(ret.group())  #結果 : 123
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章