为了账号安全,请及时绑定邮箱和手机立即绑定

\w+\与[\w\-]+的区别?

<?php

$subject = "my email is spark@imooc.com";

//在这里补充代码,实现正则匹配,并输出邮箱地址

$a= '/\w+\@\w+\.\w+/';

preg_match($a,$subject,$matches);

echo $matches[0];

//下面是原答案:

$subject = "my email is spark@imooc.com";

$pattern = '/[\w\-]+@\w+\.\w+/';

preg_match($pattern, $subject, $matches);

echo $matches[0];

这两种都可以得到邮箱的地址

那么请问

\w+\与[\w\-]+的区别以及在这里运用后者的好处?

正在回答

3 回答

没有看出有什么好处,两者都不是精确匹配

查了一下,在[]括号内,\-是指的-;-是指的-

当$subject = "my email is s-park@imooc.com";

使用$a= '/\w+\@\w+\.\w+/';返回park@imooc.com

使用$pattern = '/[\w\-]+@\w+\.\w+/';返回s-park@imooc.com


使用163非vip的情况下,不允许注册带-邮箱,网易邮箱要求6~18个字符,可使用字母、数字、下划线,需以字母开头

2 回复 有任何疑惑可以回复我~
#1

烽烟 提问者

非常感谢!
2018-05-19 回复 有任何疑惑可以回复我~

[]可以用来表示范围、取反等操作。比如[0-9]表示0-9的数字,[^\s]表示一个非空白字符。

0 回复 有任何疑惑可以回复我~

有时候用着  【  】   我也没有理解到,有的时候都没有加[   ]   有的时候加了[  ] 

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

\w+\与[\w\-]+的区别?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信