中文字符匹配
根据前文所述知识,方括号[ ]可以表示枚举、范围、否定等多种涵义,几乎可以匹配任意字符,例如,匹配英文字符时,可以使用 [\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 正则表达式:
\w+([-_.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
复制