原始:/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/
- 在线匹配网站 http://tool.oschina.net/regex/#
- 删开始和结束符(网站通过):\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
这是vs2003中正则表达式编辑器生成的电子邮件的正则表达式,它的意思是:
/w+ 必须以一个a-z,A-Z,0-9或_这些字符中的一个开头。
([-+.]\w+)* 的意思是:允许0个或是多个-+.\w或-+.\w+这样的字符,也就是说,到这里为止,邮件的地址可以是:
a-a a+aa a.aaa 这种作为开头。
接下来@就不用解释了,邮件必须的东西。
\w+意思同上。
([-.]\w+)*意思是允许出现0个或是多个-.加一个字符或是多个字符的情况。
\.意思就是.就像\\就是指\一样。
\w+([-.]\w+)*意思和上面的一样。
根据这个正则表达式,邮箱可以是如下这些格式:
wwwkgdiwss@163.com www+kgdiwss@163.com
www.kgdiwss@163.com www-kgdiwss@163.com
减号用在字符集“[…]”里表示一组字符,如:
“[3-5]” —— 表示3到5中的任意一个字符,所以“iphone[4-7]>”表示匹配 iphone4 或者 iphone5 或者 iphone6 或者 iphone7
“[x-z]” —— 表示匹配 x 或者 y 或者 z
如果没有用在字符集“[…]”里,就是普通的字符,即减号,如:
“apple-[1-3]”—— 表示匹配“apple-1”、“apple-2”或者“apple-3” 1
即使在字符集“[…]”里,但并非连续字符段,减号也失去了特殊含义,如:
“apple[-1]” —— 表示匹配“apple-”或者“apple1”