zoukankan      html  css  js  c++  java
  • day19 正则表达式与re模块

    一正则表达式
        01 意义:
            检测一个输入的字符串是否合法。web开发项目,表单验证会用到。这样在用户输入内容的时候可以提前做检测,降低了服务器的压力。
            从一个大文件中找到所有符合条件的内容,爬虫,日志分析会用到。
     
        02 正则规则
     
    单字符匹配        
    d 匹配一个数字
    D 匹配一个非数字
    w 匹配一个字母或者下划线
    W 匹配非字母下划线
    s   匹配一个空白字符
    S   匹配一个非空白字符
    匹配一个制表符
    匹配一个换行符
    ^ 匹配开头
    $ 匹配结尾
     
    量词
        # {n}  表示匹配n次
        # {n,} 表示匹配至少n次
        # {n,m}表示至少匹配n次,至多m次
        # ? 表示匹配0次或1次 {0,1}
        # + 表示1次或多次    {1,}
        # * 表示0次或多次    {0,}
            
    二 re模块
     
    常用的方法:
        findall: 找到符合匹配规则的所有字符,贪婪匹配,越多越好
        eg:
            import re
        ret = re.findall('d+','19740ash93010uru')
        print(ret)    //['19740', '93010']
     
      search:找到符合条件的字符,惰性匹配,只匹配一次。与findall不同的是,search可以通过group属性来获取分组内容。
     
        eg:
        ret = re.search('d+','19740ash93010uru')
        print(ret,type(ret))    //re.Match object; span=(0, 5), match='19740'> <class 're.Match'>  返回一个正则对象
     
        eg:
        ret = re.search('9(d)(d)','19740ash93010uru')
        print(ret)
        if ret:
        print(ret.group(0),ret.group(1),ret.group(2)) //974 7 4
  • 相关阅读:
    ****阿里云使用+快速运维总结(不断更新)
    Linux 标准目录结构
    linux awk命令
    反射型 DDoS 攻击的原理和防范措施
    容器平台选型的十大模式:Docker、DC/OS、K8S 谁与当先?
    谈谈数据库的跨机房容灾-网易云
    前端 支持 超大上G,多附件上传
    java 支持 超大上G,多附件上传讨论
    java 支持 超大上G,多附件上传分享
    java 支持 超大上G,多附件上传功能
  • 原文地址:https://www.cnblogs.com/spacetime-party/p/13122135.html
Copyright © 2011-2022 走看看