正则表达式
正则表达式是可以让复杂的字符串问题变得简单的工具
1,正则语法(编程语言通用)
-
re模块
- fullmatch(正则表达式, 字符串) ---- 判断字符串是否满足正则表达式描述的规则(完全匹配)
- Python提供正则表达式的方法 ---- 提供一个字符串字符串内容是一个正则表达式,字符串最前面要加r(r’正则’)
-
语法内容
- 包含:匹配类符号、控制次数的符号、分组和分治、检测类符号
2,匹配类符号
- 普通字符
- 在正则表达式中表示字符本身的符号就是普通符号(出特殊符号外都是普通符号)
result1 = fullmatch(r"abc", "abc")
print(result)
- 特殊符号:"." ---- 表示匹配任意一个字符,一个"."匹配一个字符。
result2 = fullmatch(r"..bc", "傻呗bc")
print(result2)
- 特殊符号:"\d" ---- 匹配任意一个数字字符, 一个"\d"匹配一个字符
result3 = fullmatch(r"..\d\dbc", "傻呗33bc")
print(result3)
- 特殊符号:"\s" ---- 匹配任意一个空白字符
- 空白字符:任何可以产生空白效果的符号(空格、\t, \n)
result4 = fullmatch(r"\sy", "\ny")
print(result4)
- 特殊符号:"\D" ---- 匹配任意一个非数字字符
result5 = fullmatch(r"xy\D", "xyy")
print(result5)
-
特殊符号:"\S" ---- 匹配任意一个非空白字符
-
特殊符号:"[字符集]" ---- 匹配字符集中的任意一个字符
result6 = fullmatch(r"x[\u4e00-\u9fa5]...y", "x傻呗刘晋y")
print(result6)
"""
常见:特殊符号字符集
[多个普通符号]:[abcd]匹配a, b, c, d中任意一个
[1-9]:匹配1到9任意数字
[a-z]:
[A-Za-z]:
[\u4e00-\u9fa5]:匹配任意中文
"""
- 特殊字符:"[^字符集]" ---- 匹配不在字符集中的任意一个字符(除了字符集以外的任意字符)
result7 = fullmatch(r"y[^Python]x"