正则表达式
正则表达式属一种让一些复杂字符串问题变得简单的工具(正则不是pyth中特有的,所有高
级编程语言都支持的,正则的语法同用)
不管通过正则表达式解决生么问题,写正则表达式的时候都是在使用正则表达式描述字符串规则
示例:判断指定的字符串是否是一个合法的的手机号
def is_tel2(num,str):
from re import fullmatch
return bool(fullmatch(r'1[3-9]\d{9}',num))
python的re模块
re 模块是python中用来支持正则表达式的一个模块,模块中包含了所有和正则相关的函数
fullmatch(正则表达式,字符串):判断正则表达式和指定的字符串是否完全匹配(判断整个字符串是否
符合正则表达式所描述的规则,如果匹配成功返回匹配对象,匹配失败就返回None)
from re import fullmatch#功能导入
正则表达式语法 匹配类符号
# 1,普通符号 在正则表达式中表示符号本身的符号
result = fullmatch(r'abc','abc')
print(result)
# 2, . :匹配任意一个字符 .. 匹配任意两个字符
result = fullmatch(r'a.c','abc')
print(result)
# 3 \d :表示匹配任意一个数字字符
result = fullmatch(r'a\dc','a0c')
print(result)
# 4 \s :表示匹配任意一个空白字符
# 空白字符:能产生空白效果的字符,例如:空格,换行,水平制表符
result = fullmatch(r'a\sc','a\tc')
print(result)
result = fullmatch(r'\d\d\sac','56 ac')
print(result)
# \D :匹配任意一个非数字字符
result = fullmatch(r'a\Dc','a$c')
print(result)
# \S 匹配任意一个非空白字符
result = fullmatch(r'a\S\S\Sc','a?#$c')
print(result)
# \[字符集]:匹配字符集中任意一个字符
[a-zA-Z\d_]匹配字母数字或者下划线
[\u4e00-\u9fa5]:匹配任意一个中文字符
注意:在[]中减号放在两个字符中间表示谁到谁之间(确定的方式是根据字符编码值大小确定的);如果
减号不在两个字符中间,就表示普通的一个减号
result = fullmatch(