轻松入门正则表达式之非贪婪匹配篇详解

2023-12-07 0 385

非贪婪匹配 (.*?)

import re
a = \’456qwe789rty123abc\’
re=re.findall(\’456(.*?)789\’,a)
print(re)

轻松入门正则表达式之非贪婪匹配篇详解

通常情况,满足匹配规则“456(.*?)789”的内容通常不止一个,那么findall()函数会从字符串的起始位置开始寻找文本A,找到后开始寻找文本B,当找到第一个文本B后,暂时停止寻找,将文本A和文本B之间的内容存入列表;然后继续寻找文本A,并重复之前的步骤,直到到达字符串的结束位置,并将所有匹配到的内容存入列表。

import re
a = \’456qwe789rty123456kkk789abc456xiaowang789\’
re=re.findall(\’456(.*?)789\’,a)
print(re)

轻松入门正则表达式之非贪婪匹配篇详解

贪婪模式的话就会寻找最长的

import re
a = \’456qwe789rty123456kkk789abc456xiaowang789\’
re=re.findall(\’456(.*)789\’,a)
print(re)

轻松入门正则表达式之非贪婪匹配篇详解

非贪婪匹配 .*?

import re
a=\'<a href=\”https://blog.csdn.net/weixin_42403632/article/details/120825546\” rel=\”external nofollow\” target=\”_blank\” data-report-click=\”{&quot;spm&quot;:&quot;3001.5501&quot;}\” data-report-query=\”spm=3001.5501\” data-v-6fe2b6a7=\”\”>\’
re=re.findall(\'<a href=\”(.*?)\” rel=\”external nofollow\” rel=\”external nofollow\” .*?\’,a)
print(re)

轻松入门正则表达式之非贪婪匹配篇详解

\” 和 url后面的html代码用.*?代表,需要提取的是<a href=\”后的内容,用“(.*?)”代表

实战爬取博客专栏url

import re,requests
url=\’https://blog.csdn.net/weixin_42403632/category_11076268.html\’
headers={\’User-Agent\’:\’Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0\’}
html=requests.get(url,headers=headers).text

re=re.findall(\'<a href=\”(.*?)\” rel=\”external nofollow\” rel=\”external nofollow\” .*?rel=\”noopener\”>\’,html)
for i in re:
print(i)

轻松入门正则表达式之非贪婪匹配篇详解

到此这篇关于轻松入门正则表达式之非贪婪匹配篇详解的文章就介绍到这了,更多相关正则表达式 非贪婪匹配内容请搜索悠久资源网以前的文章或继续浏览下面的相关文章希望大家以后多多支持悠久资源网!

您可能感兴趣的文章:

  • 30分钟就入门的正则表达式基础教程
  • 专门为初学者编写的正则表达式入门教程
  • js中的正则表达式入门(大量实例代码)
  • javascript正则表达式RegExp入门图文教程
  • 正则表达式基础学习一文入门

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 正则表达式 轻松入门正则表达式之非贪婪匹配篇详解 https://www.u-9.cn/biancheng/zhengze/127921.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务