前言
主要从三个方面考察正则表达式的运用情况(基本元字符/常用正则表达式/用python re模块解决情况)
一.基本元字符
- 问正则表达式的特殊字符都是什么意思
\b
\B
\w
\W
\d
\D
\s
\S
.
*
+
?
|
请把以上字符再去搜索一遍,看看到底是什么意思
- 贪婪模式和非贪婪模式
- 有哪些字符是需要\来转义的
- 中文编码范围
二.常用正则表达式
这部分的表达式并不唯一,因为需求不同。
- 手机号
^1[3-9]\d{9}$
^1[^0-2]\d{9}$
对手机号进行模糊处理,模糊中间四个数字
import re
phone = '18728147811'
# \1和\3指获取第一个分组和第三个分组匹配值
res = re.sub(r"(\d{3})(\d{4})(\d{4})", r"\1****\3", phone)
print(res)
#187****7811
- 邮箱
"例如xiao_ming@999.com.cn"
^[A-Za-z0-9_-]+@[A-Za-z0-9_-]+(\.[A-Za-z0-9_-]+)+$
- 用户名
"字母数字下划线支持中文4到12位"
^[A-Za-z0-9\u4e00-\u9fa5_]{4,12}$
- 密码
下面是英语四六级考试网站的密码注册要求
"8-15位长度(区分大小写);密码中同时含有:大写字母、小写字母、数字和特殊字符"
"特殊字符有!@#$%^&*-_"
^(?=.*\d+)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#%_-&\$\^\*])^.{8,15}$