Python入门与进阶(10-8)
2018-05-09 本文已影响41人
buaishengqi
10-8 边界匹配符
# 边界匹配
# Q1:怎么判断一个QQ号码在4~8位之间?
import re
a = '100001'
r = re.findall('\d{4,8}',a)#用此种方法可以判断出来
print(r)
# 打印结果如图1
# Q2:怎么判断一个QQ号码在4~8位之间?
import re
a = '101'
r = re.findall('\d{4,8}',a)#用此种方法可以判断出来
print(r)
# 打印结果如图2
# Q3:怎么判断一个QQ号码在4~8位之间?
import re
a = '100000001'
r = re.findall('\d{4,8}',a)#用此种方法可以判断出来
print(r)
# 打印结果如图3
# Q4:如何完全匹配一个QQ号码?要用到边界匹配了,如果一个QQ号码在4-8位之间,下面能匹配吗?
import re
a = '100000001'
r = re.findall('^\d{4,8}$',a)#用^\d{4,8}$前面加上^,表示从开始匹配,后面加上一个$,代表从后面开始匹配。一前一后表示完全匹配这个字符串
print(r)
# 打印结果如图4,结果是空的列表。无法匹配4-8的号码
# 看看下列代码,深入理解边界匹配!
import re
a = '100000001'
r = re.findall('000',a)#用此种方法可以判断出来
print(r)
# 打印结果如图5,两组000
import re
qq = '100000001'
r = re.findall('^000',a)#在000前面加一个向上的^
print(r)
# 打印结果是空列表,因为从开始匹配的数字是1,不是0,所以打印的是空列表
import re
qq = '100000001'
r = re.findall('000$',a)#在000的后面加上一个$
print(r)
# 打印结果是空列表,因为从末尾开始匹配的三个字母必须是000,但是目前的001,所以不匹配!所以打印的是空列表