zoukankan      html  css  js  c++  java
  • Python的正则表达式

    今天看了下Python的正则表达式,觉得挺好玩的,在这里记录一下。

    摘抄自http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html的一个表:

    这个表上已经基本上说明了正则表达式的用法了,Python上是用re模块。

    通过查看python的doc知道,正则表达式有两种方式:match和search

    比如说我想写个匹配e-mail的正则表达式。

    这是一个比较宽松的e-mail格式,name部分可以使用“."和”_“字符,对于@后的内容也没有过多限制,类似这个样子:

    import re
    email="fwindpeak.Mr@test.com.cn"
    emailstr="sdf23 "+email+" dsf34.cd09//;l"
    
    p=re.compile(r'[\w\.]+@\w+\.[\w\.]+')
    
    m=re.match(p,email)
    s=re.search(p,emailstr)
    
    print "email:"+email
    print "emailstr:"+emailstr
    print "email_match:",m.group()
    print "email_search:",s.group()
    

    一些补充:

    1、先说下贪婪模式与非贪婪模式

    这个主要是看到了一篇文章,里面应用了比较多的”.*?",刚开始对后面加的这个“?"不是很理解,一查知道是转化为非贪婪模式。

    举个例子,在一个网页中有“<div>test1</div>dsjhfjh<div>test2</div>"。

    如果不加"?"正则表达式”<div>.*</div>",匹配出来的是整个“<div>test1</div>dsjhfjh<div>test2</div>"。

    如果加“?",正则表达式””<div>.*?</div>",匹配出来的结果是"<div>test1</div>"

  • 相关阅读:
    宿舍助手app——个人工作第四天
    宿舍助手app——个人工作第三天
    对QQ输入法的评价
    冲刺9
    冲刺8
    冲刺7
    冲刺6
    冲刺5
    冲刺4
    冲刺3
  • 原文地址:https://www.cnblogs.com/fwindpeak/p/2890697.html
Copyright © 2011-2022 走看看