笔记 - 正则表达式python:匹配结尾与开头

系统 143 0
            
              
                import
              
               re

name1 
              
                =
              
              
                "a#pple"
              
              
                # 命名正确, a
              
              
name2 
              
                =
              
              
                "apple!"
              
              

ret 
              
                =
              
               re
              
                .
              
              match
              
                (
              
              
                "[a-zA-Z_][a-zA-Z0-9_]*"
              
              
                ,
              
               name1
              
                )
              
              
                if
              
               ret
              
                :
              
              
                print
              
              
                (
              
              
                "命名正确,"
              
              
                ,
              
               ret
              
                .
              
              group
              
                (
              
              
                )
              
              
                )
              
              
                else
              
              
                :
              
              
                print
              
              
                (
              
              
                "命名不正确"
              
              
                )
              
            
          

明明命名不合法,为什么返回正确,而且只匹配到正确部分

  • 因为默认match只会匹配开头(如果开头正确了,就等于匹配成功了)

严格的匹配开头与结尾

  • 加上^和$(表示开头和结尾)
            
              
                import
              
               re

name1 
              
                =
              
              
                "a#pple"
              
              
name2 
              
                =
              
              
                "apple!"
              
              

ret 
              
                =
              
               re
              
                .
              
              match
              
                (
              
              
                "^[a-zA-Z_][a-zA-Z0-9_]*$"
              
              
                ,
              
               name1
              
                )
              
              
                if
              
               ret
              
                :
              
              
                print
              
              
                (
              
              
                "命名正确,"
              
              
                ,
              
               ret
              
                .
              
              group
              
                (
              
              
                )
              
              
                )
              
              
                else
              
              
                :
              
              
                print
              
              
                (
              
              
                "命名不正确"
              
              
                )
              
            
          

更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请请扫描上面二维码支持博主1元、2元、5元等您想捐的金额吧,狠狠点击下面给点支持吧

发表我的评论
最新评论 总共0条评论