免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5431 | 回复: 3
打印 上一主题 下一主题

求一个提取字符串的正则表达式写法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-08-19 16:58 |只看该作者 |倒序浏览
本帖最后由 kkmm0105 于 2013-08-19 17:05 编辑

var = 'class="EC_title"<asdas"d asdas"d> href="www.yoururl.com"'

怎么从var变量中使用正则精确的匹配出www.yoururl.com?, 要求必须使用class="EC_title"进行匹配,因为文本中有大量的这种结构,单独用href不可

论坛徽章:
0
2 [报告]
发表于 2013-08-19 17:16 |只看该作者
本帖最后由 xht1984 于 2013-08-19 17:18 编辑

import re
var = 'class="EC_title"<asdas"d asdas"d> href="www.yoururl.com"'
dd=re.match('.*class="EC_title".*href="(.*)"',var)
print dd.groups(1)[0]

论坛徽章:
0
3 [报告]
发表于 2013-08-19 17:53 |只看该作者
本帖最后由 kkmm0105 于 2013-08-19 18:02 编辑

回复 2# xht1984


    测试,好用,但是我有个疑问,.*不是代表无限制的匹配下去了吗? 那么.*href=为什么还会继续生效匹配呢。而且如果文本中有多个这样的字段,那么只会匹配上最后一个了

论坛徽章:
0
4 [报告]
发表于 2013-08-19 22:48 |只看该作者
回复 3# kkmm0105


        因为正则表达式默认是贪婪模式,它会竟可能的匹配最多的字符。你可以使用字符 ? 来取消掉贪婪模式。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP