python正则表达式匹配qq邮箱_python 正则表达式(QQ,手机号,邮箱,用户名,密码)...

QQ号表达式:

分析:

1、首先扣扣号开头不能为0;

2、QQ号必须大于5且小于11(或12,13,QQ号最长位);

则正则表达式为:    “[1-9]\\d{4,10}"

解析:

[1-9]为第一个数(第一个数不为0);

\\d:第一'\'为转义字符,'\d'为产生[0-9]的数字(第二位往后数字任意);

{4,10}表示至少4次最多10次(因为[1-9]占1位,剩下4或10位,这里默认扣扣号最短5位,最长10位);

手机号表达式:

分析:

1、手机号位数为11位;

2、开头为1,第二位为3或4或5或8;

则表达式为:    ”1[3458]\\d{9}

解析:

1:开头必须为1;

[3458]:第二位;

\\d: 第一个为转义字符,'\d'为产生任意数字;

{9}:恰好出现9次;

扩展:写出手机号表达式,且后5位相同;

”1[3458]\\d{4}(\\d)\\1{4}"

解析:

1:开头必须为1;

[3458]:第二位;

"\\d{4}":产生[0-9]的数字恰好出现4次(由于前面占2位,后面重复5次,11减去7,还剩4位);

"(\\d)\\1{4}”:首先圆括号()表示组的意思,'\\1'中的1表示的是第一组,第一个‘'\'表示转义,{4}出现4次,产生一个数最为一个组,将这组元素再重复4次;   注:(组:(\\d)\\1(\\d)\\2中的\\2表示第二组);

邮箱表达式:

xxxx@xxx.com/cn/com.cn

eg:haha@163.com; ha_ha@alibaba.com.cn; ha-ha@sina.com;123456789@qq.com 等;

分析:

1、@符号前面的可以为字母,数字,下划线,中划线,或'.';

2、@后面的可以是xxx.com、xxx.cn、xxx.com.cn;

表达式:"[\\w-\\.]+@([\\w]+\\.)+[a-z]{2,3}"

解析:

[\\w-\\.]: "\\w"为产生单个字符(a-z或A-Z或[0-9]),‘-’可能出现为中划线,“\\."表示可能出现'.' ;

’+‘表示'[]'里面出现一次或多次;

’@‘:为邮箱里面的@符号;

([\\w]+\\.)+:首先[\\w]+表示单个字符(a-z或A-Z或[0-9])出现一次或多次(如以上邮箱:@163,@alibaba,@sina,@qq,分别出现3,7,4,2次); ([\\w]+\\.)+:将()里面看成一组,()+这组出现一次或多次(为什么加上'.'?? ,因为后缀有两种格式:xxx@xxx.com或者xxx@xxx.com.cn,将(xxx.)和(com.)可看成相同格式的组);

[a-z]{2,3}: 产生后缀.com或.cn,所以出现2到3次;

用户名表达式:

题目:必须以字母开头,长度在10位以内

表达式:"[a-zA-z]\\w{0,9}"

解析:

[a-zA-Z]:用户名的第一位数为字母,[a-zA-z]表示产生这个a-z或A-Z范围的字母;

\\w{0,9}:  \\w产生单个字符 (a-z或A-Z或[0-9]),{0,9}:为至少0次最多9次;

密码表达式:

题目:任意字符,6~16位

表达式:".{6,16}"

解析:

'.' :  为产生任意字符;

{6,16}:至少6位,最多16位;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值