应该如何理解正则?下面这种理解对吗?

ziluopao 发布于 2015/11/04 16:38
阅读 157
收藏 0
PHP
看到别人写的正则是如下:
if (!preg_match('/^[\w\-\.]+@[\w\-\.]+(\.\w+)+$/',$_string))
其中对于中括号及里面的理解,我是这样的:中括号表示其中任意一项;
那么,上面这段中的它[\w\-\.]我就理解成了前面第一个打头的可以是所有任意英文字符,或是横杠,或是点都可以

如果上面的理解对,那么 问题来了,这段代码的作用是为了验证email的正确性。
大家知道email第一个打头的不能是横杠,这不就错了吗?
加载中
1
inuxor
inuxor

嗯,这就是野狐禅玩法。php自备l验证函数

filter_var

可以验证各种东西

email的话只需要

filter_var('aaa@bbb.com', FILTER_VALIDATE_EMAIL)



南湖船老大
南湖船老大
然而filter_var的bug也不少,不少规则都和规范不对应
聽雨人
聽雨人
filter_var失败的地方在于他可以做很多事,所以我们一件也想不起来,从而没人用,真的是一个失败的设计。
0
聽雨人
聽雨人
请问,对于中文邮箱楼主有什么看法。
0
南湖船老大
南湖船老大
email第一个打头的可以是横杠
ziluopao
ziluopao
那看来我的理解对
返回顶部
顶部