i
mport
re
li = re.match('\d*', '
12821j128j312893j129
') #
match方法,先使用正規表示式,然後傳入待查字串
print(li) #結果物件 <_sre.sre_match object; span=(0, 5), match='12821'>
ifli:
print(li.group()) #
獲得資料12821 ,如果沒有就會報錯
# 如果沒有,就無操作
# 所有的match方法都認為是以。。。開頭
re.match('\d+') # 相當於^\d+
re.search('\d+','
12821j128j312893j129')
li = re.match('
\d*', '
12821j128j312893j129')
#這兩行效果相同
match可以被替換
li = re.search('\d*', '
12821j128j312893j129
') #
在文字中查詢
print(li) #
結果物件 <_sre.sre_match object; span=(0, 5), match='12821'>
ifli:
print(li.group()) #
獲得資料12821 ,如果沒有就會報錯
li = (re.findall('\d*', '
12821j128j312893j129'))
#查詢所有的符合規則的字串,並新增到列表中
print(li) #
結果物件 <_sre.sre_match object; span=(0, 5), match='12821'>
ifli:
print(li.group) #
獲得所有匹配規則的資料
ret = re.sub('\d+', '
sb', '
alex,wsir123
', 1) #
z將字串的內容替換出來
(ret)
#替換數字型別為sb,替換一次,如果不給這個 1,預設替換所有符合條件的
print(re.subn('\d+', '
sb', '
alex,wsir123
')) #
用法與sub相同,但是這個的返回值是乙個元組,結果和替換了幾次
print(re.split('\d+', '
alex,wsir123
', ))
#如果對正則表示中使用分組,那麼分組中的內容也會被儲存在列表中
#用法與字串的相同,以符合條件的當切割條件
用來提前載入要使用的正規表示式
par = re.compile('\d+') #
將寫好的正規表示式進行編譯,還有可以直接呼叫
par.finditer('\d
', '
asdfaf')
#迭代器,處理資料量比較大的,這個迭代器中存的是結果集
ret = """hahaha<\h1>
wahaha<\h2>
qqxing<\title>
"""res = re.findall('
>(\w+)<
', ret)
print(res) #
乙個列表,內容為hahaha,wahaha,qqxing
#findall總是優先顯示分組()中的內容
res = re.findall('
>(?:\w+)<
', ret)
#?:表示取消這個分組優先,正常顯示
ret = re.search(r'
<(?p\w+)>(?p\w+)<\\(\w+)>
', '
qqxing<\\title>')
#?p表示對分組起名
ret = re.search(r'
<(?p\w+)>(?p\w+)
', '
qqxing')
#(?p=tab1) 直接在這裡引用這個分組
ret = re.search(r'
<(\w+)>(\w+)<\\(\w+)>
', '
qqxing<\\title>')
print(ret.group()) #
qqxing<\title>
print(ret.group(1)) #
title
print(ret.group(2)) #
qqxing
print(ret.group(3)) #
\title
re模組使用
import re strdata python is the best language in the world match只能匹配以 開頭的子符串,第乙個引數是正則,第二個引數是需要匹配的字串 res re.match p strdata,re.i re.i引數表示忽略大小寫 res re.m...
re 模組使用
re模組是python獨有的匹配字串的模組,該模組中提供的很多功能是基於正規表示式實現的,而正規表示式是對字串進行模糊匹配,提取自己需要的字串部分,他對所有的語言都通用。正規表示式元字元 元字元 匹配內容 匹配除換行符以外的任意字元 w匹配字母或數字或下劃線 s匹配任意的空白字元 d匹配數字 n匹配...
re模組使用案例
寫在前面的話 re模組當中有很多函式,但是以下三種 re.sub,re.findall,re.match 這三個命令是爬蟲當中經常使用到的 爬蟲當中經常使用到re.sub,re.findall,re.match 進行資料清洗,提取,請務必掌握好這3個命令。接下來就是一些小案例,訓練並掌握下對re.s...