[D]关于使用PERL正则表达式抓取E-MAIL地址

Jack_Ju 2012-05-09 07:51:48
各位帅哥美女:
小弟对PERL不太熟悉.
现在需要一个比较强大的用PERL语言处理的正则表达式.
要求该逻辑能判断字符串为合法的E-MAIL地址,并抓取出来.
现在我遇到的问题是相 helloword@163.com\,这种情况就不行了。
请大家帮忙解决一下,写一段代码,若地址中存在这种非法的转义字符,如/\~*&^%......等,则判断为不正确的地址,返回1.


谢谢各位啦

--------------------------
Double行动:
原帖分数:40
帖子加分:40
...全文
383 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
carsonC_J_Zeong 2013-04-09
  • 打赏
  • 举报
回复
/\w+@(\w+\.)+\w{2,3}/i \w代表[a-z0-9A-z];
Aepkill 2012-05-13
  • 打赏
  • 举报
回复
("[a-zA-Z-0-9]+@[a-zA-Z0-9]+.[a-zA-Z0-9]+.[a-zA-Z0-9]+",a)
a代表需要匹配的内容。
split切割应该很麻烦。
proorck6 2012-05-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
可以分两步走
一是把可能的地址串提取出来
二是检查里面是否有非法字符
不一定非要用一个正则表达式就把所有问题解决
[/Quote]
一楼正解,你能用正则表达式解决问题,说明你对Perl有一定了解,但是没有必要总用正则表达式啊。
bugs2k 2012-05-10
  • 打赏
  • 举报
回复
/[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}/i

jiuchang 2012-05-09
  • 打赏
  • 举报
回复
可以分两步走
一是把可能的地址串提取出来
二是检查里面是否有非法字符
不一定非要用一个正则表达式就把所有问题解决

37,741

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧