美文网首页
匹配次数

匹配次数

作者: 匿隱 | 来源:发表于2019-02-13 15:46 被阅读0次

    import re

    def main():
        """"""
        # 1 *(匹配0次或多次)
        """
        字符*  - 指定的字符出现0次或者多次(这儿的字符可以是正则符号,也可以是普通字符)
        
        a* - a出现0次或者多次
        \d* - 任意数字出现0次或者多次
        [a-z]* - 任意小写字母出现0次或多次
        """
        # 123前面有0个或者多个字符,并且每个字符都是a
        re_str = r'a*123'
        print(re.fullmatch(re_str, 'aaa123'))
        print(re.fullmatch(re_str, '123'))
    
        # 123前面有0个或者多个字符,并且每个字符都是数字字符
        re_str = r'\d*123'
        print(re.fullmatch(re_str, '12123'))
        print(re.fullmatch(re_str, '123'))
    
        re_str = r'[a-z]*123'
        print(re.fullmatch(re_str, 'huagh123'))
        print(re.fullmatch(re_str, '123'))
    
        # 2 +(匹配1次或多次)
        re_str = r'a+123'
        print(re.fullmatch(re_str, 'aaa123'))
        print(re.fullmatch(re_str, 'a123'))
    
        # 3 ?(匹配0次或者1次)
        re_str = r'\+?abc'
        print(re.fullmatch(re_str, '+abc'))
    

    练习:写一个正则表达式能够匹配所有的整数字符串

    1233
    +233
    -384
    00233 不是整数
    
    re_str = r'[+-]?[1-9]\d*'
    print(re.fullmatch(re_str, '389'))
    
        # 4 {}
        """
        {M,N} - 匹配M到N次(最少M次,最多N次)
        {M,}  - 匹配至少M次
        {,N}  - 匹配最多N次
        {N}   - 匹配N次
        """
        print(re.fullmatch(r'a{2,5}', 'aaaaa'))
        print(re.fullmatch(r'a{2,}', 'aaa'))
        print(re.fullmatch(r'a{,3}', 'aa'))
        print(re.fullmatch(r'a{4}', 'aaaa'))
    
    # 密码:6~16位,只能包含数字和字母
    print(re.fullmatch(r'[a-zA-Z\d]{6,16}', '3u2222'))
    

    相关文章

      网友评论

          本文标题:匹配次数

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