爬蟲基礎 正則基礎

2021-08-09 15:45:05 字數 3042 閱讀 5032

re模組是python 中專門處理正則相關的模組

下面專門介紹一下正規表示式。

相關的正則測試**推薦乙個。 

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

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

import re

content = 'hello 123 4567 world_this is a regex demo'

print(len(content))

result = re.match('^hello\s\d\d\d\s\d\s\w.*demo$', content)

print(result)

print(result.group())

print(result.span())

結果:

41

<_sre.sre_match object span="(0," match="hello 123 4567 world_this is a regex demo">

hello 123 4567 world_this is a regex demo

(0, 41)

import re

content = 'hello 123 4567 world_this is a regex demo'

result = re.match('^hello.*demo$', content)

print(result)

print(result.group())

print(result.span())

結果:

<_sre.sre_match object span="(0," match="hello 123 4567 world_this is a regex demo">

hello 123 4567 world_this is a regex demo

(0, 41)

import re

content = 'hello 1234567 world_this is a regex demo'

result = re.match('^hello\s(\d+)\sworld.*demo$', content)

print(result)

print(result.group(1))

print(result.span())

結果:

<_sre.sre_match object span="(0," match="hello 1234567 world_this is a regex demo">

1234567

(0, 40)

import re

content = 'hello 1234567 world_this is a regex demo'

result = re.match('^he.*(\d+).*demo$', content)

print(result)

print(result.group(1))

結果:

<_sre.sre_match object span="(0," match="hello 1234567 world_this is a regex demo">

7

import re

content = 'hello 1234567 world_this is a regex demo'

result = re.match('^he.*?(\d+).*demo$', content)

print(result)

print(result.group(1))

結果:

<_sre.sre_match object span="(0," match="hello 1234567 world_this is a regex demo">

1234567

import re

content = '''hello 1234567 world_this

is a regex demo

'''result = re.match('^he.*?(\d+).*?demo$', content, re.s)

print(result.group(1))

結果:

1234567
注意: re.s 可以讓.*匹配換行符

import re

content = 'price is $5.00'

result = re.match('price is \$5\.00', content)

print(result)

結果:

<_sre.sre_match object span="(0," match="price is $5.00">
re.search 掃瞄整個字串並返回第乙個成功的匹配。

search 和match很像。但是search不用首字母和尾字母匹配。

import re

html = '''經典老歌列表

'''result = re.search('(.*?)', html, re.s)

if result:

print(result.group(1), result.group(2))

結果:

齊秦 往事隨風

Python爬蟲 正規表示式基礎(超基礎!!)

之前學正則時寫的小筆記,今天想起來發一發 補充 d 用於匹配字串中的純數字 1.關於星號的詳解 進入 這是自己遇到的坑,感覺個帖子還是很好的 2.貪心演算法和非貪心演算法的區別 貪心演算法將會找到最開始和最末尾的xx,匹配最長的字串 非貪心則會找最短的 但注意 一組xx不會被重複利用 即,不會又當作...

scrapy爬蟲基礎

生成資料夾在cmd中執行scrapy startproject doubantest 後跟資料夾名字 doubantest main.py 新建 encoding utf 8 from scrapy import cmdline cmdline.execute scrapy crawl douban...

python爬蟲基礎

一 什麼是爬蟲 通常爬蟲是從某個 的某個頁面開始,爬取這個頁面的內容,找到網頁中的其他鏈結位址,然後從這個位址爬到下乙個頁面,這樣一直不停的爬下去,進去批量的抓取資訊。那麼,我們可以看出網路爬蟲就是乙個不停爬取網頁抓取資訊的程式。二 爬蟲的基本流程 1,發起請求 向目標站點傳送乙個requests請...