Python中的正規表示式常用函式re模組

2021-10-05 05:09:08 字數 3799 閱讀 5128

python中的正規表示式常用函式

1.大批量文字的解析最好提前編譯正規表示式

# 正則re模組的compile函式方法可以返回乙個正規表示式的物件,方便大批量的文字匹配,節省計算機資源

q = re.

compile

(r'src="(.*)" width'

)# 將上面的正規表示式物件方法呼叫出來可以返回出匹配出的物件

#findall方法返回乙個列表物件,是所有符合條件的匹配項,如果正規表示式有括號的話那麼將會返回的是正規表示式裡面括號匹配的字串,傳遞的正規表示式沒有括號的話將會返回出整個正規表示式匹配的字串組成的列表

e = q.findall(b)

2.小批量的匹配的話可以直接呼叫re的方法傳遞正規表示式來匹配

import re

re.search(test_pattern, test_str)

# re.search 掃瞄整個字串並返回第乙個成功的匹配物件,如果整個字串匹配完乙個都沒找到則返回none

如下test_str =

'www.runoob.com.wwww'

test_pattern =

'w*'

search_ret = re.search(test_pattern, test_str)

print

(type

(search_ret))#

print

(search_ret)

# print

(search_ret.string)

# www.runoob.com

print

(search_ret.group(0)

)# www

print

(search_ret.group(1)

)# indexerror: no such group

====

====

====

====

====

====

====

====

====

====

====

====

====

====

====

=re.match(

'com'

,'www.runoob.com'

)#這裡的match方法是意思從這個目標字串中的第乙個字元開始匹配,匹配出來就返回匹配的物件,匹配不出來的話他會返回none

====

====

====

====

====

====

====

====

====

====

====

====

====

====

====

=# 替換方法,引數依次是前,後,要處理的文字物件,返回值直接就是處理過的文字物件,直接列印

num = re.sub(

r'#.*$',""

, phone))==

====

====

====

====

====

====

====

====

====

====

====

====

====

====

====

==group(

)方法#group方法是search或者match等方法返回出的re物件的方法,由這些物件直接呼叫

# 處理一般需要用到group方法,注意這裡的group方法使用預設引數的話等價於

# group(0),group(0)返回的整個匹配到的 文字(也就是整個正規表示式匹配的文

# 本包含正規表示式括號外面的和括號裡面的),而如果是group(n)其中n非零的話

# 返回的就是第幾個()中的正則匹配出來的文字 如下

searchobj.group(

)# 匹配符沒有括號情況

test_str =

'www.runoob.com.wwww'

test_pattern =

'w*'

search_ret = re.search(test_pattern, test_str)

print

(search_ret.group(0)

)# www

print

(search_ret.group(1)

)# indexerror: no such group

# 匹配符有括號情況1

test_str =

'www.runoob.com.wwww'

test_pattern =

'(w*).ru'

search_ret = re.search(test_pattern, test_str)

print

(search_ret.group(0)

)# www.ru

print

(search_ret.group(1)

)# www

# 匹配符有括號情況2

test_str =

'www.runoob.com.wwww'

test_pattern =

'(w*)'

search_ret = re.search(test_pattern, test_str)

print

(search_ret.group(0)

)# www

print

(search_ret.group(1)

)# www

====

====

====

====

====

====

====

====

====

====

====

====

====

====

====

====

====

*****==

# re.findall()方法 會返回所有的符合條件的匹配出來的結果字串組合的 「」「列表」「」

re.findall(

)# 不帶括號

test_str =

'www.runoob.com.wwww'

test_pattern =

'w+.run'

search_ret = re.findall(test_pattern, test_str)

print

(search_ret)

# ['www.run']

# 帶括號1

test_str =

'www.runoob.com.wwww'

test_pattern =

'(w+)'

search_ret = re.findall(test_pattern, test_str)

print

(search_ret)

# ['www', 'wwww']

# 帶括號2

test_str =

'www.runoob.com.wwww'

test_pattern =

'(w+).run'

search_ret = re.findall(test_pattern, test_str)

print

(search_ret)

# ['www']

其它部落格參照

參照二

正規表示式 常用正規表示式

一 校驗數字的表示式 1 數字 0 9 2 n位的數字 d 3 至少n位的數字 d 4 m n位的數字 d 5 零和非零開頭的數字 0 1 9 0 9 6 非零開頭的最多帶兩位小數的數字 1 9 0 9 0 9 7 帶1 2位小數的正數或負數 d d 8 正數 負數 和小數 d d 9 有兩位小數的...

正規表示式 常用正規表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 4 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 或者 1 3...

正規表示式常用

正規表示式的介紹 1 資料型別 基本資料型別 number string boolean null undefined 複雜資料型別 array function object math date regexp正規表示式 string number boolean 2 regular express...