一、正则匹配163邮箱
已知:
email_list = [“1510177105@”,“1510177105@”,“1510177105@”]
且@符号之前有4到20位单词字符
代码如下(示例):
import re
email_list = ["1510177105@","1510177105@","1510177105@"]
print(email_list)
for mail in email_list:
res = re.match("[\w]{4,20}@163\.com$",mail)
if res:
print("%s 是163邮箱,邮箱为:%s" % (mail,res.group()))
else:
print("%s不是163邮箱" % mail)
返回结果:
['1510177105@', '1510177105@', '1510177105@']
1510177105@qq.com 不是163邮箱
1510177105@163.com 是163邮箱,邮箱为:1510177105@163.com
1510177105@yahu.com 不是163邮箱
二、正则match方法匹配操作
- 匹配单个字符
匹配单个字符:
. 匹配任意1个字符(除了\n)
[ ] 匹配[ ]中列举的字符
\d 匹配数字,即0-9
\D 匹配非数字,即不是数字
\s 匹配空白,即 空格,tab键
\S 匹配非空白
\w 匹配单词字符,即a-z、A-Z、0-9、_
\W 匹配非单词字符
2.匹配多个字符
* 匹配前一个字符出现0次或者无限次,即可有可无
+ 匹配前一个字符出现1次或者无限次,即至少有1次
? 匹配前一个字符出现1次或者0次,即要么有1次,要么没有
{m} 匹配前一个字符出现m次
{m,n} 匹配前一个字符出现从m到n次
2.匹配开头结尾
^ : 匹配以xxx开头的字符串
$ :匹配以xxx结尾的字符串
注:
使用match方法进行匹配操作,如果上一步匹配到数据的话,可以使用group方法来提取数据