美文网首页
爬虫 正则

爬虫 正则

作者: seven1010 | 来源:发表于2021-06-10 16:37 被阅读0次

    今天爬取好代夫网站,使用正则遇到一个棘手的问题, 在医院的科室页,想匹配肾内科的链接,使用url = re.search(r'facutly/(.*?)\.htm.*?肾', response.text, re.S) 总是匹配到第一个科室。

    屏幕快照 2019-07-08 下午9.59.45.png

    我错误的以为非贪婪匹配,那一定会匹配到靠近 肾 字url, 可是总是匹配到第一个科室
    那是因为正则是从头开始搜索,当遇到第一个符合匹配规则时候就会与他匹配,后面的就不管了,r'facutly/(.*?)\.htm 与第一个科室匹配,所有在第一个科室和肾字中间的都被非贪婪匹配.*? 所匹配,而不是我想当然的倒序非贪婪匹配, 所以非贪婪前面 的子集很重要, 要想匹配到肾内科,前面子集必须不能匹配到前面的科室

    相关文章

      网友评论

          本文标题:爬虫 正则

          本文链接:https://www.haomeiwen.com/subject/utjzhctx.html