• 正则表达式「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
  • 相关阅读:
    HDU 3152 Obstacle Course(BFS+优先队列 重载)
    芸芸毕业生
    shell学习三十四天----printf具体解释
    tomcat启动批处理——catalina.bat
    ZooKeeper启动过程2:FastLeaderElection
    R语言——数据分析的一把利剑
    Oracle blob字段的插入和更新
    [LeetCode] 698. Partition to K Equal Sum Subsets
    小知识!
    小知识!
  • 原文地址:https://www.cnblogs.com/Chris-math/p/8317884.html
Copyright © 2020-2023  润新知