python重表达式混乱

2024-09-29 21:34:31 发布

您现在位置:Python中文网/ 问答频道 /正文

在读《用python刮网》一书时,这个重新表达让我困惑

webpage_regex = re.compile('<a[^>]+href=["\'](.*?)["\']', re.IGNORECASE)

中的链接通常如下所示:

<a href="/view/Afghanistan-1">

我的困惑是:

  1. 既然[^>]意味着没有>,为什么后面跟着一个+?这个+似乎没用

  2. 混淆的是(.*?),既然*意味着重复0次或更多次,为什么它需要?再次重复*


Tags: review链接regexhrefcompilewebpageignorecase
1条回答
网友
1楼 · 发布于 2024-09-29 21:34:31
  1. [>]+匹配标记中的任何其他属性及其对应值

  2. *?在零次和无限次之间进行匹配,尽可能少地进行匹配,并根据需要进行扩展。所以它只捕获下一个["\']

    之前的文本

相关问题 更多 >

    热门问题