RE模組使用

2022-07-25 12:09:17 字數 2550 閱讀 5069

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將字串的內容替換出來

print

(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...