zoukankan      html  css  js  c++  java
  • 正则表达式

    # 字符功能
    # . 匹配任意1个字符(除了
    )
    # [ ] 匹配[ ]中列举的字符
    # d 匹配数字,即0-9
    # D 匹配非数字,即不是数字
    # s 匹配空白,即 空格,tab键
    # S 匹配非空白
    # w 匹配单词字符,即a-z、A-Z、0-9、_
    # W 匹配非单词字符
    
    import re
    
    # 如果hello的首字符大写,那么正则表达式需要大写的H
    ret = re.match("H","Hello Python")
    print(ret.group())  #H
    # 大小写h都可以的情况
    ret = re.match("[hH]","hello Python")
    print(ret.group())  #h
    ret = re.match("[hH]","Hello Python")
    print(ret.group())  #H
    # 匹配0到9第一种写法
    ret = re.match("[0123456789]","7Hello Python")
    print(ret.group())  #7
    # 匹配0到9第二种写法
    ret = re.match("[0-9]","7Hello Python")
    print(ret.group())  #7
    
    # 使用d进行匹配
    ret = re.match("嫦娥d号","嫦娥1号发射成功")
    print(ret.group())  #嫦娥1号
    
    ret = re.match('小.','小三小四小五张三')
    print(ret.group())
    ret = re.findall('小.','小三小四小五张三')
    print(ret)  #['小三', '小四', '小五']
    ret = re.findall('小.?','小三小四小五张三')
    print(ret)  #['小三', '小四', '小五']
    # 需求:匹配出,一个字符串第一个字母为大写字母,后面为小写
    # 这些小写字母可有可无
    #coding=utf-8
    import re
    ret = re.match("[A-Z][a-z]*","Mm")
    print(ret.group())  #Mm
    ret = re.match("[A-Z][a-z]*","Aabcdef")
    print(ret.group())  #Aabcdef
    
    # 需求:匹配出,0到99之间的数字
    #coding=utf-8
    import re
    ret = re.match("[1-9]?[0-9]","7")
    print(ret.group())  #7
    ret = re.match("[1-9]?[0-9]","33")
    print(ret.group())  #33
    
    # 需求:匹配出,8到20位的密码,可以是大小写英文字母、数字、下划线
    #coding=utf-8
    import re
    ret = re.match("[a-zA-Z0-9_]{6}","12a3g45678")
    print(ret.group())  #12a3g4
    ret = re.match("[a-zA-Z0-9_]{8,20}","1ad12f23s34455ff66")
    print(ret.group())  #1ad12f23s34455ff66
    
    # 需求:匹配163.com的邮箱地址
    #coding=utf-8
    import re
    # 正确的地址
    ret = re.match("[w]{4,20}@163.com", "xiaoWang@163.com")
    print(ret.group())  #xiaoWang@163.com
    # 不正确的地址
    ret = re.match("[w]{4,20}@163.com", "xiaoWang@163.comheihei"
    )
    print(ret.group())  #xiaoWang@163.com
    
    # 通过$来确定末尾
    ret = re.match("[w]{4,20}@163.com$", "xiaoWang@163.comheihei")
    # print(ret.group())
    
    ret = re.match("w{4,20}@(163|126|qq).com", "test@126.com")
    print(ret.group())  #test@126.com
    ret = re.match("w{4,20}@(163|126|qq).com", "test@qq.com")
    print(ret.group())  #test@qq.com
  • 相关阅读:
    Windows SDK编程(Delphi版) 之 应用基础,楔子
    一个小问题引发的论证思考
    Delphi 组件开发教程指南(7)继续模拟动画显示控件
    用PyInstaller将python转成可执行文件exe笔记
    使用 .Net Memory Profiler 诊断 .NET 应用内存泄漏(方法与实践)
    Microsof Office SharePoint 2007 工作流开发环境搭建
    How to monitor Web server performance by using counter logs in System Monitor in IIS
    LINQ之Order By
    window 性能监视器
    内存泄露检测工具
  • 原文地址:https://www.cnblogs.com/chvv/p/10188597.html
Copyright © 2011-2022 走看看