栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

自学Python第十一天。越来越懒了...

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

自学Python第十一天。越来越懒了...

今天就学习了一个re模块

"""
re模块
#从一个字符中提取到所有的数字
    lst = re.findall("d+", "我今年18,我家有5头狗")
    结果:['18', '5']
#判断一句话中是否有数字(search,匹配字符串第一个结果就返回,不会匹配多个结果)
    res = re.search("d+", "我今年18,我家有5头狗")
    返回re.Match对象
    需要使用res.group()拿到返回值
#finditer
    it = re.finditer("d+", "我今年18,我家有5头狗");
    返回迭代器对象
    输出:for item in it: print()
#match匹配,从头开始匹配
    result = re.match("d+", "我今年18,我家有5头狗")
    print(result)   结果为None
    result = re.match("d+", "18,我家有5头狗")
    print(result)   结果为18
#split切割
    result = re.split("d+", "我今年18,我家有5头狗")
    print(result)
    结果:['我今年',',我家有','条狗']
#subsubn替换
    result = re.sub("d+", "要替换的字符", "替换字符串")
    result = re.subn("d+", "要替换的字符", "替换字符串")  返回替换后的字符串与替换次数
compile
#先加载这个正则,后面可以直接用这个正则去匹配内容
    obj = re.compile("d+")
    obj.findall("18,我家有5头狗")
#爬虫必会的一个重点
    1.()    括起来的内容是最终要的结果
    2.(?P<组名>正则)  把正则匹配到的内容直接放到该组里面。后面取数据直接group(组名)
    # r表示该字符串中的正则无效。打印内容
    obj = re.compile(r"今年(?Pd+)")
    result = obj.finditer("我今年18,我家有5头狗")
    for item in result:
        print(item.group("age"))
        print(item.groupdict()) 直接获取字典    
        输出该组内容。结果为:18
        
重点内容:
#findall: 匹配所有,返回列表
#finditer:匹配所有,返回迭代器
#search:匹配到一个结果就返回
#match:从头匹配,得到一个结果就返回
#group:拿到数据的.
#group(组名)
#re.compile()预编译
#()从正则匹配到的结果中拿到指定数据#(?P正则)
"""
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/966051.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号