美文网首页
Python入门与进阶(10-8)

Python入门与进阶(10-8)

作者: buaishengqi | 来源:发表于2018-05-09 15:50 被阅读41次

    10-8 边界匹配符

    # 边界匹配
    # Q1:怎么判断一个QQ号码在4~8位之间?
    import re
    a = '100001'
    
    r = re.findall('\d{4,8}',a)#用此种方法可以判断出来
    print(r)
    # 打印结果如图1
    
    # Q2:怎么判断一个QQ号码在4~8位之间?
    import re
    a = '101'
    
    r = re.findall('\d{4,8}',a)#用此种方法可以判断出来
    print(r)
    # 打印结果如图2
    
    # Q3:怎么判断一个QQ号码在4~8位之间?
    import re
    a = '100000001'
    
    r = re.findall('\d{4,8}',a)#用此种方法可以判断出来
    print(r)
    # 打印结果如图3
    
    
    # Q4:如何完全匹配一个QQ号码?要用到边界匹配了,如果一个QQ号码在4-8位之间,下面能匹配吗?
    import re
    a = '100000001'
    
    r = re.findall('^\d{4,8}$',a)#用^\d{4,8}$前面加上^,表示从开始匹配,后面加上一个$,代表从后面开始匹配。一前一后表示完全匹配这个字符串
    print(r)
    # 打印结果如图4,结果是空的列表。无法匹配4-8的号码
    
    # 看看下列代码,深入理解边界匹配!
    import re
    a = '100000001'
    
    r = re.findall('000',a)#用此种方法可以判断出来
    print(r)
    # 打印结果如图5,两组000
    
    
    import re
    qq = '100000001'
    
    r = re.findall('^000',a)#在000前面加一个向上的^
    print(r)
    # 打印结果是空列表,因为从开始匹配的数字是1,不是0,所以打印的是空列表
    
    import re
    qq = '100000001'
    
    r = re.findall('000$',a)#在000的后面加上一个$
    print(r)
    # 打印结果是空列表,因为从末尾开始匹配的三个字母必须是000,但是目前的001,所以不匹配!所以打印的是空列表
    
    

    相关文章

      网友评论

          本文标题:Python入门与进阶(10-8)

          本文链接:https://www.haomeiwen.com/subject/ceznrftx.html