re.match()使用方法详解与实战应用

介绍: match()方法用于从字符串的开始位置进行匹配,如果起始位置匹配成功,则返回Match对象,否则返回None

语法: re.match(pattern,string,[flags])

pattern: 模式字符串   string:要匹配的字符串   flags:可选参数,比如re.I 不区分大小写

话不多说,直接上代码:

import re
#1.开始位置不匹配
res = re.match("ang","zhangsan5lisi")
print(res)
#输出结果:None

#2. 匹配到结果
res = re.match("ang","angsan5lisi")
print(res)
#输出结果:<_sre.SRE_Match object; span=(0, 3), match='ang'>
print(res.group())  #获取匹配到的数据
#输出结果:ang

#3.是否区分大小写匹配对比
res = re.match("ang","Angsan5lisi")
print(res)
#输出结果:None
res = re.match("ang","Angsan5lisi",re.I)
print(res)
#输出结果:<_sre.SRE_Match object; span=(0, 3), match='Ang'>
print(res.group())
#s输出结果:Ang

#4.匹配位置和匹配字符串
res = re.match("ang","angsan5lisi")
print(res.start())  #匹配字符串的开始位置
#输出结果:0
print(res.end()) #匹配字符串的结束位置
#输出结果:3
print(res.span()) #匹配字符串的元组(开始位置+结束位置)
#输出结果:(0, 3)
print(res.string) #匹配的字符串
#输出结果:angsan5lisi

来个实战练练手:

  如何验证手机号输入是否合法:

import re
pattern = "^1[35678]\d{9}$"
tel = "12112345678"
res = re.match(pattern,tel)
if res is not None:
    print("输入手机号合法")
else:
    print("输入手机号不合法")
#输出结果: 输入手机号不合法

 

 

 

你可能感兴趣的:(python)