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
  • 相关阅读:
    TransportClient基于Elasticsearch6.8.6 X-PACK
    elasticsearch6.8.6配置xpack(生成密钥)
    Java8 List排序
    ssh 免密码登录自动设置脚本
    Linux grep命令用于查找文件里符合条件的字符串
    [译]如何防止elasticsearch的脑裂问题
    APScheduler定时任务使用
    storm本地python开发环境搭建
    关于python反射的getattr,我终于想通了!
    利用sqlalchemy 查询视图
  • 原文地址:https://www.cnblogs.com/spacetime-party/p/13122135.html
Copyright © 2011-2022 走看看