匹配多字符
{}表示限定的位数,可与单字符组合使用
{4}表示限定4位
{1,3}表示1到3位
\d{1,2}表示可以匹配1-2位数字
\d{1,5}表示可以匹配1-5位数字
\d{11}表示可以匹配11位数字
import re
result = re.match(r"\d{1,2}","15python")
print(result)
运行结果:
<re.Match object; span=(0, 2), match=‘15’>
[1-57-9]{1,2}表示匹配1到5 7到9的数字1至2位
[1-9a-zA-Z]{6}表示匹配数字和字母6位
import re
result = re.match(r"\d[1-9a-zA-Z]{6}","15python")
print(result)
运行结果:
<re.Match object; span=(0, 7), match=‘15pytho’>
小案例:
匹配固定电话:区号是0996固定的,-可写可不写,号码是7位数字
?表示它前面一位可有可无
-?表示横杠可有可无
import re
num = input("请输入固定电话号码:")
result = re.match(r"0996-?\d{7}",num)
if result:
print("匹配成功")
else:
print("匹配不成功")