小编use*_*620的帖子

Python正则表达式:(.+)和(.+?)之间的区别

我是regex和Python的urllib的新手.我浏览了一个关于网络报废的在线教程,它有以下代码.在研究正则表达式后,在我看来,我可以在我的正则表达式中使用(.+)而不是(.+?),但是我错了.我最终打印的方式比我想要的更多HTML代码.我以为我正在掌握正则表达式,但现在我很困惑.请向我解释这两个表达式之间的区别以及为什么它会抓取这么多html.谢谢!

PS.这是一个星巴克股票报价刮刀.

import urllib
import re

url = urllib.urlopen("http://finance.yahoo.com/q?s=SBUX")
htmltext = url.read()
regex = re.compile('<span id="yfs_l84_sbux">(.+?)</span>')
found = re.findall(regex, htmltext)
Run Code Online (Sandbox Code Playgroud)

打印发现

python regex urllib

1
推荐指数
1
解决办法
9409
查看次数

标签 统计

python ×1

regex ×1

urllib ×1