2024-09-29 21:34:31 发布
网友
在读《用python刮网》一书时,这个重新表达让我困惑
webpage_regex = re.compile('<a[^>]+href=["\'](.*?)["\']', re.IGNORECASE)
中的链接通常如下所示:
<a href="/view/Afghanistan-1">
我的困惑是:
既然[^>]意味着没有>,为什么后面跟着一个+?这个+似乎没用
[^>]
>
+
混淆的是(.*?),既然*意味着重复0次或更多次,为什么它需要?再次重复*
(.*?)
*
?
[>]+匹配标记中的任何其他属性及其对应值
[>]+
*?在零次和无限次之间进行匹配,尽可能少地进行匹配,并根据需要进行扩展。所以它只捕获下一个["\']
*?
["\']
[>]+
匹配标记中的任何其他属性及其对应值
之前的文本*?
在零次和无限次之间进行匹配,尽可能少地进行匹配,并根据需要进行扩展。所以它只捕获下一个["\']
相关问题 更多 >
编程相关推荐