Discuss / JavaScript / 写了一些解析,给不太理解的同学参考一下

写了一些解析,给不太理解的同学参考一下

Topic source

习题一:

var re = /^[\w+\.]+\@\w+\.(com|org)$/;

解析:[xx、xx]匹配范围,[\w+\.]+用于匹配如xx@... 或xx.xx@两种email格式,\@\w+\. 是email通用部分, 如@qq. @123. ,com|org表示结尾可以是com 或者org

习题二:

var re = /^\<([\w\s\w]+)\>+\s+(\w+\@\w+\.org|com)$/;

说明:

注意用()表示的就是要提取的分组(Group)。比如:

^(\d{3})-(\d{3,8})$分别定义了两个组,可以直接从匹配的字符串中提取出区号和本地号码:

注意前面名字部分有< >需要转义 \< 、\> ,注意名字字段可能有空格(测试样例有,但实际可以没有),所以在[  ]匹配范围内内需要加。

不能单单看测试样例,还要注意将正则表达式写的更通用。

玩转ACE

#2 Created at ... [Delete] [Delete and Lock User]

非常感谢!

Jacqueline

#3 Created at ... [Delete] [Delete and Lock User]

习题二最后的org|com好像少了个括号 应该是/^\<([\w\s\w]+)\>+\s+(\w+\@\w+\.(org|com))$/

拾點舞

#4 Created at ... [Delete] [Delete and Lock User]

如果是xx.@  (//@直接跟在点的后面) 是不是非法的格式呢,虽然习题上没有这种错误形式,但正常来讲是不是应该也要考虑进去?但这个/^[\w+\.]+\@\w+\.(com|org)$/ 排查不了

心都要被

#5 Created at ... [Delete] [Delete and Lock User]

感谢


  • 1

Reply