四、正则表达式:匹配开头与结尾

四、正则表达式:匹配开头与结尾

^ 限制匹配的内容必须从开头判断
$ 限制匹配的内容必须包含结尾
使用re.match()自带判断开头,但是不判断结尾,也就是即使在匹配字符前面部分符合限制条件,后面部分即使不服务,也有返回对象
例如:以下2种情况能匹配成功,第3种匹配失败

ret = re.match(r"\d{3}", "123")
ret.group()
ret = re.match(r"\d{3}", "12345678")
ret.group()
#如果加上$,则判断结果不匹配
ret = re.match(r"\d{3}$", "12345678")
ret.group()

综合应用案例:
判断names中的字符串是否符合变量命名规则(首字母可以大写小写或者下划线_,不能为数字,不能包含#、!、?)

# coding = utf-8
import re


names = ["age", "age_1", "_age__", "____", "2_age", "age!", "ag#e"]
def main():
    for name in names:
        ret = re.match(r"^[a-zA-Z_][a-zA-Z0-9_]*$",name)   # ^可加可不加,match自带判断开头
        if ret:
            print("变量名%s符合命名规范,输出结果是:%s" % (name, ret.group()))
        else:
            print("变量名%s不符合命名规范,它在列表的第%s位" % (name, names.index(name)))

if __name__ == "__main__":
    main() 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值