• 正则表达式「3」


    数量——匹配多个字符的相关格式

    * 匹配前一个字符出现0次或者无限次,即可有可无

    示例一:

    #coding=utf-8
    #需求:匹配一个字符串第一个字母为大小字符,后面都是小写字母并且这些小写字母可有可无
    import re
    ret = re.match("[A-Z][a-z]*","Mm").group()
    print ret 
    
    Mm
    
    ret = re.match("[A-Z][a-z]*","Aabcdef").group()
    print ret 
    
    Aabcdef
    View Code

    + 匹配前一个字符出现1次或者无限次,即至少有1次

    示例二:

    #coding=utf-8
    #需求:匹配变量名是否有效
    import re
    ret = re.match("[a-zA-Z_]+[w_]*","name1").group()
    print ret
    
    结果:name1
    
    ret  = re.match("[a-zA-Z_]+[w_]*","_name").group()
    print ret
    
    结果:_name
    
    ret  = re.match("[a-zA-Z_]+[w_]*","2_name").group()
    print ret
    
    结果:Traceback (most recent call last):
      File "/usercode/file.py", line 4, in <module>
        ret  = re.match("[a-zA-Z_]+[w_]*","2_name").group()
    AttributeError: 'NoneType' object has no attribute 'group'
    View Code

    ? 匹配前一个字符出现1次或者0次,即要么有1次,要么没有

    示例三:

    # -*- coding: utf-8 -*-
    #需求:匹配0到99之间的数字
    import re
    ret = re.match("[1-9]?[0-9]","7").group()
    print ret
    
    结果:7
    
    ret = re.match("[1-9]?[0-9]","33").group()
    print ret
    
    结果:33
    View Code

    {m} 匹配前一个字符出现m次

    示例四:

    #coding=utf-8
    #需求匹配8到20位的密码,可以是大小写英文字母、数字、下划线
    import re
    ret = re.match("[a-zA-Z0-9_]{6}","12a3g45678").group()
    print ret
    
    结果:12a3g4
    
    ret = re.match("[a-zA-Z0-9_]{8,20}","1ad12f23s34455ff66")
    ret.group()
    
    结果:1ad12f23s34455ff66
    View Code
  • 相关阅读:
    Asp.Net异步页处理
    iframe通过js自动调节高度
    Js 代码
    JavaScript使用面向对象的技术创建高级 Web 应用程序 (转)
    C#泛型深入浅出(转)
    Asp.Net异步页面处理(转)
    ASP.NET分页存储过程自定义用户控件(转)
    .NET Remoting程序开发入门篇(转)
    认识WebService (转)
    Java CompletableFuture 详解
  • 原文地址:https://www.cnblogs.com/Chris-math/p/8317884.html
Copyright © 2020-2023  润新知