day19 正则表达式与re模块

一正则表达式
    01 意义:
        检测一个输入的字符串是否合法。web开发项目,表单验证会用到。这样在用户输入内容的时候可以提前做检测,降低了服务器的压力。
        从一个大文件中找到所有符合条件的内容,爬虫,日志分析会用到。
 
    02 正则规则
 
单字符匹配        
\d 匹配一个数字
\D 匹配一个非数字
\w 匹配一个字母或者下划线
\W 匹配非字母下划线
\s   匹配一个空白字符
\S   匹配一个非空白字符
\t 匹配一个制表符
\n 匹配一个换行符
^ 匹配开头
$ 匹配结尾
 
量词
    # {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
posted @ 2020-06-13 22:54  武林人捕鱼为业  阅读(90)  评论(0编辑  收藏  举报