匹配案例
1、判断变量的名称:由数字、字母、下划线组成,不能以数字作为开头
[a-zA-Z_][a-zA-Z0-9_]$
注意:如果不加$,中间如果有不符合字符如abc#()123就会匹配成功
import re
result = re.match(r"[a-zA-Z_][a-zA-Z0-9_]*$","Python123")
print(result)
运行结果:
<re.Match object; span=(0, 9), match=‘Python123’>
2、判断4-20位163邮箱格式
[a-zA-Z0-9_]@163.com$
注意:如果末尾不加$符号,abc123@163.comcom也会匹配成功,.表示转义,变成普通的点号,因为点号在正则表达式里表示除\n换行符以外的字符,所以需要转义
import re
result = re.match(r"[a-zA-Z0-9_]{4,20}@163\.com$","abc123@163.com")
print(result)
运行结果:
<re.Match object; span=(0, 14), match=‘abc123@163.com’>
3、判断163邮箱、qq邮箱
[a-zA-Z0-9_]{4,20}@(163|qq|QQ).com$
注意:同上
import re
result = re.match(r"[a-zA-Z0-9_]{4,20}@(163|qq|QQ)\.com$","abc_123@QQ.com")
print(result)
运行结果:
<re.Match object; span=(0, 14), match=‘abc_123@QQ.com’>