美文网首页
正则表达式实践

正则表达式实践

作者: writ | 来源:发表于2019-07-06 17:45 被阅读0次

    测试文本:
    入股很好,但是需要谨慎,如果能够依据工式:Y=AX+B获取你想要的结果(其中A取1,B取2),那么会有惊喜。有事请联系:17734090982,邮件:1892344552@163.com,QQ号码为84440559899,请登录www.crediton.xin查询具体信息,公司法人的身份证号为31457610099987234X。
    时间:2019年06月18日
    地点:浙江省西湖区阿里巴巴大厦
    联系人:马云
    python用法:
    '''
    import re
    re.findall("[A-Z]","Hello World")
    '''
    所有的匹配字符都是匹配一个而不是匹配多个。
    如果正则表达式中同时出现了^,$,那么就要匹配全部。

    基本元字符分类:

    匹配字符: '.', '\d', '\D', '\w', '\W', '\s', '\S', '[......]', '[^...]'
    匹配重复:'*', '+', '?', '{n}', '{m,n}'
    匹配位置: '^', '$' , '\A', '\Z', '\b', '\B'
    其 他:‘|' '()' ''

    正则表达式的转义

    1. 如果使用正则表达式匹配特殊字符,需要加 '' 表示转义
      2.raw字符串:在字符串前面加r,表示该字符串为raw字符串,这样的字符串不会进行字符串转义处理。
      贪婪模式: .* .+
      非贪婪模式: .?
      3.分组
      ()re.search()
      4.正则表达式匹配原则
      1.正确性 2.排他性 3.全面性
      5.(1) regex = re.compile(pattern,flags = 0)
      l = regex.findall(string,pos,endpos)
      (2) regex=re.compile(pattern,string)
      l = re.findall(string,pos=0,endpos=12)
      (3) s = re.sub(pattern,rel,string,count,flag=0)
      (4) s = re.split(r"s+","hello word")
      (5) s = re.finditer(pattern,string,flags)
      (6)obj = re.match(pattern,string,flags) 匹配开头
      (7) obj = re.search(pattern,string,flags) 只能匹配第一处
      (8)obj = re.fullmatch(pattern,string,flags)
      examples:
      1 匹配全部: re.findall('^$','this is a test too')
      2.匹配数字:re.findall('[1-9][0-9]
      '334209845')
      3.匹配邮箱:re.finall('\w*@
      4.匹配数字,字母,下划线 re.findall('\w+','addr:(port:129.268.98.10))
      5.匹配单词边界 re.findall(r'\bis\b','this is a test')
      6.匹配'is': re.findall('\bis\b','this is a test')

    相关文章

      网友评论

          本文标题:正则表达式实践

          本文链接:https://www.haomeiwen.com/subject/gsjphctx.html