三、正则表达式:匹配多个字符{}、?、re.S

三、正则表达式:匹配多个字符{}、?、re.S

1、\d{1,3} 表示前一个\d可以匹配1位数或者2位数或者3位数

ret = re.match(r"速度与激情\d{1,3}", "速度与激情123")
ret.group()

2、\d{8},表示前一个\d位置只能匹配8位以上的数字,如果数字只有7位数,则匹配不成功,但\d后面的数字有无不影响判断(match不判断结尾,所以即使是123456789999也能匹配成功)

ret = re.match(r"请输入手机号\d{11}", "请输入手机号15602331923")
ret.group()

3、“-?”,表示问号前面的字符“-”可有可无,但只能是一个字符

ret = re.match(r"021-?\d{8}", "02112345678")
ret.group()
ret = re.match(r"021-?\d{8}", "021-12345678")
ret.group()

4、{}表示限定大括号内的位数范围,可以匹配区号3/4位的,号码7/8位的电话号码,并且-可以不写。

ret = re.match(r"\d{3,4}-?\d{7,8}", "0754-3332965")
ret.group()

5、".“本身匹配的是不包含\n的任意字符,但是加上re.S ,可以让前面的”."匹配的内容包含\n

"*"表示前一位匹配的内容可以重复无限次
html_content = """abcfa
ggg
safffgg
sgsggaghhjjy"""
re.match(r".*", html_content)	# 这样只能匹配到第一行abcfa,\n换行符无法匹配到
re.match(r".*", html_content, re.S) 	# 这样可以匹配搭到全部文本内容
发布了47 篇原创文章 · 获赞 74 · 访问量 7905

猜你喜欢

转载自blog.csdn.net/Jacky_kplin/article/details/104744987