Python的re模組學習

2021-09-26 19:22:21 字數 2404 閱讀 5247

import re

ret=re.findall("alex","hdasoialexhosfo")

print(ret)

#.萬用字元

re1=re.findall("..c","abcc")

print(re1)

#^以什麼開頭

ret2=re.findall("^ad...c","adihoc;l")

print(ret2)

#$以什麼結尾

re3=re.findall("......sd$","asdfghsd")

print(re3)

#*重複出現次數[0,+00]

ret2=re.findall("a*b","fhoahfaaaaabyuom;l")

print(ret2)

#+出現[1,+00]

re4=re.findall("sd+.*","dsadsdsdsdsdsdsdsdwert")

print(re4)

#?匹配前乙個字元出現一次或者0次

re5=re.findall("a?b","asdsdbafjdfkskbaupopob")

print(re5)

#匹配出現次數(n,m)次數

re6=re.findall(".*s.*","asatsstgiuhj;m")

print(re6)

#匹配中列舉的字元

re7=re.findall("[1-9a-za-z]","23effkk")

print(re7)

#^在中表示取反,如[^t]表示取不是t的單字元,[^4,5]表示不是4或5的字元

re8=re.findall("[^t,d]","duysdgwf")

print(re8)

#\d匹配數字字元,相當於[0,9],\d匹配非數字字元,相當於[^0-9]

#\s匹配空白字元,\s匹配非空白字元

#\w匹配字母,想當於[0-9,a-z,a-z],\w匹配非字母字元相當於[^0-9,a-z,a-z]

#\b匹配特殊字元邊界,指單詞與空格間

re9=re.findall(r"i\b","i like i&dsaf")

print(re9)

#re.search("",""),匹配第乙個符合條件的字串,返回是物件型別,group()方法返回內容

print(re.search('gh',"ghjjjsddgh").group())

re10=re.findall('\\bv',"hjdshva v")#兩個\\在python直譯器中執行解釋後就是乙個\,此處可以用r轉義

print(re.findall(r"\bs","$sfhuh"))

print(re10)

#()分組匹配?

ret11=re.search('(?p\d+)/(?p\w+)',"huh355/ede")

print(ret11.group())

print(ret11.group('id'))

#方法findall()返回所有匹配的,返回型別列表

#方法search()返回匹配到的第乙個物件,只匹配一次

#方法match()只從字串開始匹配,注意只從開始匹配,也返回匹配到的第乙個物件

ret12=re.match("sdf","sdfsfasfasdf")#如果開頭沒有sdf,則返回空物件

print(ret12.group())

#split()分割字串

re13=re.split("[j,s]","asjhksljkl;sk")

print(re13)

#sub()替換字串

re14=re.sub('sd',"gh","sdjkjsdklksduiosdsd",count=3)

print(re14)

#pattern編譯方法

ret15=re.compile('\d\w:.*')

print(ret15.findall("fsafa123gh:hfjkafkl"))

對應輸出:

['alex']

['abc']

['adihoc']

['asdfghsd']

['aaaaab']

['sdsdsdsdsdsdsdwert']

['b', 'b', 'b']

['asatsstgiuhj;m']

['2', '3', 'e', 'f', 'f', 'k', 'k']

['u', 'y', 's', 'g', 'w', 'f']

['i', 'i']

gh['s']

['v']

355/ede

355sdf

['a', '', 'hk', 'l', 'kl;', 'k']

ghjkjghklkghuiosdsd

['123gh:hfjkafkl']

python學習之re模組

這幾天玩爬蟲已經使用了很多次的re模組,算是比較熟悉了,這裡梳理一下。首先,關於正規表示式的概念,這裡有最好的教程。對於正規表示式,我們可以先用compile方法編譯為pattern物件,再呼叫相關的方法進行模式匹配,也可以直接進行匹配。對於第一種,示例如下 123 4567 8910import ...

python模組 re模組

匹配任意字元 匹配指定字元類別 字元開頭 字元結尾 取非字元 重複多次字元 0次或多次 重複多次字元 1次或多次 重複單次字元 左右表示式任意匹配 重複m到n次字元 重複m次字元 d 匹配任何十進位制數,相當於 0 9 d 匹配任何非數字字元,相當於 0 9 s 匹配任何空白字元,相當於 fdss ...

RE模組的學習

re模組是什麼 基礎方法有哪些 在python中使用正規表示式的特點和問題 使用正規表示式的技巧 爬蟲的例子 findall 返回列表 找所有的匹配項 search 匹配就 返回乙個變數,通過group取匹配到的第乙個值,不匹配就返應none,group會報錯 match 相當於search的正規表...