鱼C论坛

 找回密码
 立即注册
查看: 2030|回复: 6

[已解决]大佬们帮我看一下为什么正则表达式无法匹配完全

[复制链接]
发表于 2020-7-21 12:58:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 马钰乔布轩 于 2020-7-21 13:03 编辑

import urllib.request
import re

url = "http://www.jimohezi.com/photo/show?id=889933"


req = urllib.request.Request(url)
req.add_header = ('User-Agent','Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36')
response = urllib.request.urlopen(req)
html = response.read().decode('utf-8')

print(html)
p = re.findall(r'\w\w3/720/\w{2}/(\w+)\.jpg',html)
print(p)   #匹配结果不完全,无法匹配前面的前缀/pp3/720/5f/和后面的.jpg
最佳答案
2020-7-21 13:15:20
本帖最后由 sunrise085 于 2020-7-21 13:17 编辑
马钰乔布轩 发表于 2020-7-21 13:12
大神!为啥我匹配完就是一部分呀,代码就是上面的那个,一模一样


因为你在中间加了一个括号进行了分组,所以只能匹配到分组内的信息。
re.findall(r'\w\w3/720/\w{2}/(\w+)\.jpg',html)
正则中有个小括号(\w+),所以匹配出来的只是小括号分组的内容。
你需要把小括号去掉
re.findall(r'\w\w3/720/\w{2}/\w+\.jpg',html)

小甲鱼的正则讲解中有相关的解释
网页反馈.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-21 13:10:46 | 显示全部楼层

匹配的到呀,我这都匹配出来了?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-21 13:12:45 | 显示全部楼层
Twilight6 发表于 2020-7-21 13:10
匹配的到呀,我这都匹配出来了?


大神!为啥我匹配完就是一部分呀,代码就是上面的那个,一模一样
匹配结果.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-21 13:15:20 | 显示全部楼层    本楼为最佳答案   
本帖最后由 sunrise085 于 2020-7-21 13:17 编辑
马钰乔布轩 发表于 2020-7-21 13:12
大神!为啥我匹配完就是一部分呀,代码就是上面的那个,一模一样


因为你在中间加了一个括号进行了分组,所以只能匹配到分组内的信息。
re.findall(r'\w\w3/720/\w{2}/(\w+)\.jpg',html)
正则中有个小括号(\w+),所以匹配出来的只是小括号分组的内容。
你需要把小括号去掉
re.findall(r'\w\w3/720/\w{2}/\w+\.jpg',html)

小甲鱼的正则讲解中有相关的解释
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-21 13:17:36 | 显示全部楼层
马钰乔布轩 发表于 2020-7-21 13:12
大神!为啥我匹配完就是一部分呀,代码就是上面的那个,一模一样

噢 你是这个意思呀,那楼上正解
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-21 13:17:52 | 显示全部楼层
sunrise085 发表于 2020-7-21 13:15
因为你在中间加了一个括号进行了分组,所以只能匹配到分组内的信息。
re.findall(r'\w\w3/720/\w{2}/( ...

解决了,谢谢!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-21 13:20:48 | 显示全部楼层
Twilight6 发表于 2020-7-21 13:17
噢 你是这个意思呀,那楼上正解

谢谢大佬,解决了!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-19 20:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表