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