首页 新闻 搜索 专区 学院

正则表达式解析字符串——python

-1
悬赏园豆:10 [待解决问题]

我想从如下字符串中截取出图片的url,使用正则表达式应该怎么写?

01.<div class="photos-container">

02.    <div class="photos">

03.            <a target="_blank" href="/shop/18211174/photos">

04.                <img style="width: 240px; height: 180px;" class="auto" itemprop="photo" src="http://qcloud.dpfile.com/pc/6rK6z9s3bORn1GxbJMgMiQGmS6TLvf_rBk_HtsgTKreEHNko21uzmPrb649XPQOhCjM_FsO3sW809PHY7spB8g.jpg" title="鲜芋仙的图片" alt="鲜芋仙的图片">

05.            </a>

下面是我写的:

pattern = re.compile('<div class="photos".*?<a target="_blank".*?<img.*?src="(.*?)".*?</a>',re.S)

这样的话每次只能获取一个字符:h

贝尔格里尔斯的主页 贝尔格里尔斯 | 初学一级 | 园豆:6
提问于:2016-03-06 17:07
< >
分享
所有回答(3)
0

测试发现正常。

 1 >>> pattern.findall(txt) 2

['http://qcloud.dpfile.com/pc/6rK6z9s3bORn1GxbJMgMiQGmS6TLvf_rBk_HtsgTKreEHNko21uzmPrb649XPQOhCjM_FsO3sW809PHY7spB8g.jpg'] 

墨镜带佬星 | 园豆:2255 (老鸟四级) | 2016-03-09 02:15
0

把你上段5行代码作为一个Str字符串来传入

string result = string.Empty;
Regex rgx = new Regex("\"(http://(a-z|A-Z|0-9|.|/|_)+)\"\\stitle");
Match m = rgx.Match(str);
if (m.Success)
{ return m.Groups[1].ToString(); }
else { return ""; }

测试过啦 木有问题

| 园豆:332 (菜鸟二级) | 2016-03-24 17:15
0
#!/usr/bin/python
#coding=UTF-8
import re;
strHtml = '<div class="photos-container">\
<div class="photos">\
<a target="_blank" href="https://www.baidu.com">\
<img style="width: 240px; height: 180px;" class="auto" itemprop="photo" src="http://qcloud.dpfile.com/pc/6rK6z9s3bORn1GxbJMgMiQGmS6TLvf_rBk_HtsgTKreEHNko21uzmPrb649XPQOhCjM_FsO3sW809PHY7spB8g.jpg" tit
le="鲜芋仙的图片" alt="鲜芋仙的图片">\
</a>';
listMatch_1 = re.findall('(?:src|href)="(https?[:/a-z.0-9_]+)"', strHtml, re.I);
print listMatch_1;
listMatch_2 = re.findall('src="(https?[:/a-z.0-9_]+)"', strHtml, re.I);
print listMatch_2;                                                                                                                                                                                      

结果:

['https://www.baidu.com', 'http://qcloud.dpfile.com/pc/6rK6z9s3bORn1GxbJMgMiQGmS6TLvf_rBk_HtsgTKreEHNko21uzmPrb649XPQOhCjM_FsO3sW809PHY7spB8g.jpg']
[
'http://qcloud.dpfile.com/pc/6rK6z9s3bORn1GxbJMgMiQGmS6TLvf_rBk_HtsgTKreEHNko21uzmPrb649XPQOhCjM_FsO3sW809PHY7spB8g.jpg']

 

zhaoyingnan911 | 园豆:245 (菜鸟二级) | 2016-03-30 17:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册