一、认识正则表达式
1.正则表达式的作用
正则表达式是一种可以让复杂的字符串问题变得简单的工具
# 问题:判断手机号是否合法
# 方法1:
# tel = '13186125181'
# if len(tel) != 11:
# print('不是合法的手机号')
# else:
# for x in tel:
# if not '0' <=x <'9':
# print('不是合法的手机号')
# break
# else:
# if tel[0] != '1':
# print('不合法')
# elif '3' <=tel[1] <'9':
# print('合法')
# else:
# print('不合法')
# 方法2:
# tel = '13186125181'
# from re import fullmatch
# print(fullmatch(r'1[3-9]\d{9}', tel) != None)
# from re import split
# str2 = '23+45-89-1928*233'
# print(split(r'[+*-]',str2))
2.fullmatch函数
full match(正则表达式,字符串) - 判断字符串和正则表达式是否完全匹配(判断整个字符串是否符合正则表达式所描述的规则),如果不符合则返回None
python提供正则表达式的方式:直接将正则表示作为一个字符串内容(正则需要使用引号引起来,而且引号前面一般需要加r)
二、 正则表达式的语法
from re import fullmatch
# 写正则表达式都是通过正则符号描述字符串规则
# 1.匹配类符号 - 用来规定字符(用来描述对字符的要求)
# 1).普通字符 - 除了特殊字符以外的符号都是普通字符(在正则中表示符号本身)
print(fullmatch(r'abc', 'abc'))
# 2).'.' - 匹配任意一个字符
print(fullmatch(r'a.{3}c', 'afxdc'))
# 3).\d - 匹配任意一个数字字符
print(fullmatch(r'a\dc', 'a1c'))
# 4