日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python爬虫 正则表达式 re.finditer 元字符 贪婪匹配 惰性匹配

發(fā)布時間:2025/3/11 python 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python爬虫 正则表达式 re.finditer 元字符 贪婪匹配 惰性匹配 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.



測試代碼1:
main5.py

# -*- coding: utf-8 -*- import reif __name__ == '__main__':# findall匹配字符串中所有的符合正則的內(nèi)容lst = re.findall(r"\d+", "濮陽電話區(qū)號:0393,鄭州電話區(qū)號:0371")print(lst)# 【推薦】finditer匹配字符串中所有的內(nèi)容[返回的是迭代器],從迭代器中拿到內(nèi)容需要.group()it = re.finditer(r"\d+", "濮陽電話區(qū)號:0393,鄭州電話區(qū)號:0371")for i in it:print(i.group())# search,找到一個結(jié)果就返回,返回的結(jié)果是match對象,拿到數(shù)據(jù)需要.group()s = re.search(r"\d+", "濮陽電話區(qū)號:0393,鄭州電話區(qū)號:0371")print(s.group())# match,從頭開始匹配s = re.match(r"\d+", "0393,鄭州電話區(qū)號:0371")print(s.group())# 【推薦】finditer匹配字符串中所有的內(nèi)容[返回的是迭代器],從迭代器中拿到內(nèi)容需要.group()# 預(yù)加載正則表達式obj = re.compile(r"\d+")it = obj.finditer("濮陽電話區(qū)號:0393,鄭州電話區(qū)號:0371")for i in it:print(i.group())

測試代碼2:python爬蟲很常用的從網(wǎng)頁提取數(shù)據(jù)例子
main6.py

# -*- coding: utf-8 -*- import reif __name__ == '__main__':s = """<div class= 'tom'><span id= '1'>湯姆</span></div><div class= 'kali'><span id= '2'>凱麗</span></div><div class= 'lnr'><span id= '3'>羅恩</span></div>"""# 【推薦】finditer匹配字符串中所有的內(nèi)容[返回的是迭代器],從迭代器中拿到內(nèi)容需要.group()# 預(yù)加載正則表達式,(?P<分組名稱>正則表達式)可以單獨從正則匹配的內(nèi)容中進一步提取內(nèi)容,標(biāo)志處添加re.S是讓.匹配換行符,即匹配任意字符。obj = re.compile(r"<div class= '(?P<class>.*?)'><span id= '(?P<id>\d)'>(?P<name>.*?)</span></div>", re.S)result = obj.finditer(s)for i in result:print(i.group("class")+" "+i.group("id")+" "+i.group("name"))

效果:

tom 1 湯姆 kali 2 凱麗 lnr 3 羅恩

關(guān)注公眾號,獲取更多資料

總結(jié)

以上是生活随笔為你收集整理的python爬虫 正则表达式 re.finditer 元字符 贪婪匹配 惰性匹配的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。