有没有高手详细介绍下面这段email正则表达式

[复制链接]
查看11 | 回复2 | 2010-11-22 20:52:54 | 显示全部楼层 |阅读模式
var re = /^\w{1,15}(?:@(?!-))(?:(?:[a-z0-9-]*)(?:[a-z0-9](?!-))(?:\.(?!-)))+[a-z]{2,4}$/;
问下能不能将?:及相关括号省去。就是下面这个能实现相同效果吗?为什么要用?:
/^\w{1,15}@(?!-)(([a-z0-9-]*[a-z0-9](?!-)\.(?!-))+[a-z]{2,4}$/

回复

使用道具 举报

千问 | 2010-11-22 20:52:54 | 显示全部楼层
\w{1,15} : 1到15个普通字符(?!-)
:当前位置后面不能是-(?:@(?!-)) : 匹配@,但是@-除外(?:[a-z0-9-]*) : a-z, 0-9,及-组成的任意长字串(?:[a-z0-9](?!-)): a-z0-9其中之一字符,后面不能是-(?:\.(?!-)):匹配.,但是.-除外(...)+ : 重复1次以上[a-z]{2,4} : a-z组成的字符串,长度为2-4^...$ : 边界锚,非单行模式下代表字符串的开头与结尾 正则是不太好学的,但是一旦学会了对以后的工作学习会有很大帮助,找本书一点点地看,推荐《精通正则表达式》一书,深入浅出地让学习很轻松
回复

使用道具 举报

千问 | 2010-11-22 20:52:54 | 显示全部楼层
看你问的方式就知道你不是小白。只简单回答:?:的意思是不缓存子匹配以备后用。你给的那个圆括弧都不成对儿啊,肯定不行。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行