Python正则表达式从入门到实践(3)

2020-06-24 11:01:17 浏览数 (1)

中文字符匹配

根据前文所述知识,方括号[ ]可以表示枚举、范围、否定等多种含义,几乎可以匹配任意字符,例如,匹配中文字符时,可以使用 [u0044-u0088]这样的形式,因为所有的中文字符的UNICODE数值是连续的,只要找出所有中文字符中最小和最大的UNICODE数值,即可用来匹配所有的中文

代码语言:javascript复制
[u4e00-u9fa5]{0,}

邮箱地址匹配

各大公司邮箱地址规则如下:

新浪:4-16个字符,可使用英文小写、数字、下划线,下划线不能在首尾。

搜狐:4-16位,数字、小写字母、点、减号或下划线,小写字母开头。

腾讯:由3-18个英文、数字、点、减号、下划线组成。

网易:6~18个字符,可使用字母、数字、下划线,需以字母开头。

谷歌:您可以使用字母、数字和英文句点,请勿使用除字母 (a-z)、数字和英文句号外的其他字符。

央视:6~20个字符,包括英文字母(小写)数字-_,首尾字符须为字母或数字,且邮箱名不能为纯数字。

TOM: 6-18个字符,仅支持字母、数字及“.”、”-”、”_”,不能全部数字或下划线。

得出通用的邮箱标准:长度不限,可以使用英文(包括大小写)、数字、点号、下划线、减号,首字母必须是字母或数字;

比如有以下邮箱格式:

xxxyyy@zzz.com.cn; 其中"x"可以是纯数字,也可以是纯字母,也可以是数字与字母的组合;

"y"可以是纯数字,可以是纯字母,也可以是数字、字母和指定字符的组合;

"z"可以是纯数字,可以是纯字母,也可以是数字、字母和指定字符"-"的组合, 但不能以字符"-"开头和结尾;

最后的.com和.cn是可以互换位置的,然后也可以只有.com没有.cn或只有.cn没有.com

xxxyyy@zzz.com.cn; 其中"x"可以是纯数字,也可以是纯字母,也可以是数字与字母的组合;

"y"可以是纯数字,可以是纯字母,也可以是数字、字母和指定字符的组合;

"z"可以是纯数字,可以是纯字母,也可以是数字、字母和指定字符"-"的组合, 但不能以字符"-"开头和结尾;

最后的.com和.cn是可以互换位置的,然后也可以只有.com没有.cn或只有.cn没有.com

得出通用的邮箱标准 python 正则表达式:

代码语言:javascript复制
w ([-_.]w )*@w ([-.]w )*.w ([-.]w )*

0 人点赞