正規表示式是處理字串的強大工具,它有自己特定的語法結構,有了它,實現字串的檢索,替換,匹配驗證都不在話下。
當然,對於爬蟲來說,有了它,從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)
(result)
(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)
(results)
(results[0])
conte='
ahfgi123ahfuo358bjhif134
'conten=re.sub('
\d+','
afanti
',conte)
(conten)
content1='
2015-9-12 12:00
'content2='
2016-12-22 13:55
'content3='
2017-10-1 11:40
'pattern=re.compile('
\d:\d')
(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 作用 嘗試從字串的起始...