阅读本书时:使用python进行网页抓取,重新表达让我困惑,
webpage_regex = re.compile('<a[^>]+href=["\'](.*?)["\']', re.IGNORECASE)
通常看起来像一个链接:
<a href="/view/Afghanistan-1">
我的困惑在于:
由于[^>]
表示没有>
,为什么它后跟+
?这+
似乎毫无用处。
混淆是(.*?)
,因为*
表示重复0次或更多次,为什么需要?
再次重复*
?
答案 0 :(得分:0)
[>]+
匹配代码中的任何其他属性及其对应值。
*?
在零和无限次之间匹配,尽可能少,根据需要进行扩展。因此它只会捕获NEXT ["\']