亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

re.match 和 re.search

re.match 函數(shù)

語法:

re.match(pattern, string, flags=0)

re.match 嘗試從字串的起始位置匹配一個模式,如果不是起始位置匹配成功的話,match() 就回傳none。

re.search 函數(shù)

語法:

re.search(pattern, string, flags=0)

re.search 掃描整個字串並傳回第一個成功的匹配。

re.match 和re.search 的參數(shù),基本上一致的,具體描述如下:

#參數(shù)?描述
pattern?符合的正規(guī)表示式
#string要符合的字串
flags?標(biāo)誌位,用於控制正規(guī)表示式的匹配方式,如:是否區(qū)分大小寫

那麼它們之間有什麼差別呢?

re.match 只符合字串的開始,如果字串開始不符合正規(guī)表示式,則匹配失敗,函數(shù)傳回 None;而 re.search 符合整個字串,直到找到一個匹配。這就是它們之間的差異了。

re.match 和re.search 在網(wǎng)路上有很多詳細(xì)的介紹了,可是再個人的使用中,還是喜歡使用re.findall

看下下面的實例,可以對比下re.search 和re.findall 的差別,還有多分組的使用。具體看下註釋,對比輸出的結(jié)果:

範(fàn)例:

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
# 提取圖片的地址
import re
a = '<img src="https://s-media-cache-ak0.pinimg.com/originals/a8/c4/9e/a8c49ef606e0e1f3ee39a7b219b5c05e.jpg">'
# 使用 re.search
search = re.search('<img src="(.*)">', a)
# group(0) 是一個完整的分組
print(search.group(0))
print(search.group(1))
# 使用 re.findall
findall = re.findall('<img src="(.*)">', a)
print(findall)
# 多個分組的使用(比如我們需要提取 img 字段和圖片地址字段)
re_search = re.search('<(.*) src="(.*)">', a)
# 打印 img
print(re_search.group(1))
# 打印圖片地址
print(re_search.group(2))
# 打印 img 和圖片地址,以元祖的形式
print(re_search.group(1, 2))
# 或者使用 groups
print(re_search.groups())

輸出的結(jié)果:

<img src="https://s-media-cache-ak0.pinimg.com/originals/a8/c4/9e/a8c49ef606e0e1f3ee39a7b219b5c05e.jpg">
https://s-media-cache-ak0.pinimg.com/originals/a8/c4/9e/a8c49ef606e0e1f3ee39a7b219b5c05e.jpg
['https://s-media-cache-ak0.pinimg.com/originals/a8/c4/9e/a8c49ef606e0e1f3ee39a7b219b5c05e.jpg']
img
https://s-media-cache-ak0.pinimg.com/originals/a8/c4/9e/a8c49ef606e0e1f3ee39a7b219b5c05e.jpg
('img', 'https://s-media-cache-ak0.pinimg.com/originals/a8/c4/9e/a8c49ef606e0e1f3ee39a7b219b5c05e.jpg')
('img', 'https://s-media-cache-ak0.pinimg.com/originals/a8/c4/9e/a8c49ef606e0e1f3ee39a7b219b5c05e.jpg')

最後,正規(guī)表示式是非常厲害的工具,通??梢杂脕斫鉀Q字串內(nèi)建函數(shù)無法解決的問題,而且正規(guī)表示式大部分語言都是有的。 python 的用途很多,但在爬蟲和資料分析這連個模組中都是離不開正規(guī)表示式的。所以正規(guī)表示式對於學(xué)習(xí) Python 來說,真的很重要。最後,附上一些常用的正規(guī)表示式和正規(guī)表示式和 Python 支援的正規(guī)表示式元字元和語法文件。

繼續(xù)學(xué)習(xí)
||
提交重置程式碼