python 我是用的是分组非贪婪匹配 正则匹配,为什么匹配结果少了7?-灵析社区

LightSea

python 正则匹配,为什么匹配结果少了7?我是用的是分组非贪婪匹配 ![图片.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241014/30e4057784b0f4b606135c0a67b1004f.png) 代码如下: url = "http://tiebapic.baidu.com/forum/w%3D580/sign=33b74ba68b11728b302d8c2af8fdc3b3/9728d9177f3e67097e8a81c87dc79f3df9dc55aa.jpg?tbpicau=2024-01-18-05_4f80cd1a7f322fc1e38464b6e05d9188" pattern = re.compile(r'http://tiebapic.baidu.com/(.+?)sign=.+?\/(.+?).(.+?)\?tbpicau=', re.S) filenames = pattern.findall(url) filename = '%s%s%s' % (filenames[0][0], filenames[0][1], filenames[0][2]) print(filename) //输出结果: forum/w33D580/928d9177f3e67097e8a81c87dc79f3df9dc55aa.jpg //期望输出结果: forum/w33D580/9728d9177f3e67097e8a81c87dc79f3df9dc55aa.jpg 为什么结果中928d9177f3e67097e8a81c87dc79f3df9dc55aa.jpg 少了7?

阅读量:214

点赞量:0

问AI
猫界袁隆平
正则的.表示任意字符,如果中间匹配字符点使用转义. 按你的做法去掉点,期望值怎么还会是.jpg呢 不需要去掉点的话,这(.+?).(.+?)又是莫名其妙的做法