python中正規表示式re模組詳解

2022-01-20 05:19:05 字數 4002 閱讀 1771

正規表示式是處理字串的強大工具,它有自己特定的語法結構,有了它,實現字串的檢索,替換,匹配驗證都不在話下。

當然,對於爬蟲來說,有了它,從html裡提取想要的資訊就非常方便了。

先看一下常用的匹配規則:

\w:匹配字母、數字及下劃線

\w:匹配不是字母、數字及下劃線

\s:匹配任意空白字元,等價於[\t\n\r\f]

\s:匹配任意非空字元

\d:匹配任意數字,等價於[0-9]

\d:匹配任意飛數字的字元

\a:匹配字串開頭

\z:匹配字串結尾,如果存在換行,只匹配到換行前得結束字字串

\z:匹配字串結尾,如果存在換行,同時還會匹配換行符

\g:匹配最後匹配完成的位置

\n:匹配乙個換行符

\t:匹配乙個製表符

^ 匹配一行字串的開頭 

$ 匹配一行字串的結尾

. 匹配任意字元,除了換行符

[...]:用來表示一組字元,單獨列出,比如[amk]匹配a,m或k

[^...]:不在的字元,比如[^abc]匹配除了a,b,c的字元

*:匹配0個或多個表示式

+:匹配1個或多個表示式

?:匹配0個或乙個前面的正規表示式定義的片段,非貪婪方式

:精確匹配n個前面的表示式

:匹配n到m次由前面正規表示式定義的片段,貪婪方式

a|b:匹配a或b

(): 匹配括號內的表示式,也表示乙個組

python中的re模組主要有五種方法re.match(),re.search(),re.finall(),re.sub(),re.compile()

re.match():從字串的起始位置匹配正規表示式,如果匹配,就返回匹配成功的結果

re.search():匹配時掃瞄整個字串,然後返回第乙個成功匹配的字元

re.findall():獲取匹配正規表示式的所有內容

re.sub():修改字串的文字

re.compile():可以將正則字串編譯成正規表示式物件

下面我們來具體看一些例子

re.match()的詳細用法:

執行結果如下:

re的search,findall,sub,compile用法:

**如下:

import

recon='

exo hero hello 123 4567 world_this is a regex demo

'result=re.search('

hell.*?demo

',con)

print

(result)

print

(result.group())

html='''

'24.

一生有你

25.紅豆

26.真的愛你

27.容易受傷的女人

28.海闊天空

29.同桌的你

'''result=re.search('

li.*?songnum ">(.*?).*?>(.*?)

',html,re.s)

#print(result)

#print(result.group())

print(result.group(1))

print(result.group(2))

results=re.findall('

li.*?songnum ">(.*?).*?>(.*?)

',html,re.s)

print

(results)

print

(results[0])

conte='

ahfgi123ahfuo358bjhif134

'conten=re.sub('

\d+','

afanti

',conte)

print

(conten)

content1='

2015-9-12 12:00

'content2='

2016-12-22 13:55

'content3='

2017-10-1 11:40

'pattern=re.compile('

\d:\d')

print

(pattern)

result1=re.sub(pattern,''

,content1)

result2=re.sub(pattern,''

,content2)

result3=re.sub(pattern,''

,content3)

print(result1,result2,result3)

執行結果:

以上就是python中的正規表示式的詳細用法了。

python pandas 正規表示式 re模組

目錄 1 正則解說 數量詞的貪婪模式與非貪婪模式 正規表示式通常用於在文字中查詢匹配的字串。python裡數量詞預設是貪婪的 在少數語言裡也可能是預設非貪婪 總是嘗試匹配盡可能多的字元 非貪婪的則相反,總是嘗試匹配盡可能少的字元。例如 正規表示式 ab 如果用於查詢 abbbc 將找到 abbb 而...

python中正規表示式

python中正規表示式語法與linux中的相容 檢視正規表示式 python提供re模組,包含所有正規表示式的功能。由於python的字串本身也用 轉義,所以要特別注意 s abc 001 python的字串 對應的正規表示式字串變成 abc 001 建議使用python的r字首,就不用考慮轉義的...

Python 中 正規表示式

一 最近要對字串執行很多操作,所以學了正規表示式 不得不說正規表示式對字串的操作還是很給力的 runoob上面的教程 python中的正規表示式 正規表示式教程 python中要使用正規表示式,首先要匯入re模組 import re 二 常用函式 或者說方法 re.match 作用 嘗試從字串的起始...