Python正则表达式尽可能小的匹配(遇到第一个结束字符串就停止匹配)
生活随笔
收集整理的這篇文章主要介紹了
Python正则表达式尽可能小的匹配(遇到第一个结束字符串就停止匹配)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在寫爬蟲爬網(wǎng)頁(yè)的時(shí)候,經(jīng)常需要爬取里面的一大塊代碼,比如:
<div>..................................</div></div></div></div>
我們需要省略號(hào)里面的代碼塊,如果我們用"*"、"+"就會(huì)盡可能多的匹配,就會(huì)匹配到最后一個(gè)</div>。為了實(shí)現(xiàn)我們的需求,我們需要盡可能小的匹配,遇到第一個(gè)合適的結(jié)束字符就返回。
看下面的例子,就會(huì)很快明白了
a = 'd5./;.sdfjk56jfs./jfis54'
b = re.search(r'(.*)f', a)
print b.group(1)
返回的結(jié)果是"d5./;.sdfjk56jfs./j"
我們?yōu)榱擞龅揭粋€(gè)f就返回,而不是最后一個(gè)f才返回,只需要在'*'后加個(gè)"?",如下面的代碼
a = 'd5./;.sdfjk56jfs./jfis54'
b = re.search(r'(.*?)f', a)
print b.group(1)
返回的結(jié)果是"d5./;.sd"
?
總結(jié)
以上是生活随笔為你收集整理的Python正则表达式尽可能小的匹配(遇到第一个结束字符串就停止匹配)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: kubernetes目录挂载
- 下一篇: Python爬虫神器pyppeteer