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

原答案中的 \- 是什么意思?

$subject = "my email is spark@imooc.com";
$pattern = '/[\w\-]+@\w+\.\w+/';
preg_match($pattern, $subject, $matches);
echo $matches[0];

原答案变量$pattern中的 \- 是什么意思? 

正在回答

1 回答

\在这里是转义符,是为了区分开正则匹配符号和正常的符号的情况。\-告诉计算机代表内容中包含-,而不是代表范围的”-“符号。[\w\-]+表示多次匹配方括号中定义的字符类整体(字母、数字、下划线(\w),还有-(\-))。

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

慕设计0544213 提问者

那这里面其实也可以不用写\-也可以?
2019-02-07 回复 有任何疑惑可以回复我~
#2

慕的地2238178 回复 慕设计0544213 提问者

这是根据邮箱格式来的,一般邮箱有可能会出现-符号,所以都会采用[\w \-]+的方式,通尝正则表达匹配邮箱会用的格式。 不过题目中给出的邮箱没有这个符,用\w+也可通过核查。
2019-02-07 回复 有任何疑惑可以回复我~
#3

慕设计0544213 提问者 回复 慕的地2238178

6,很全面。
2019-02-08 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

原答案中的 \- 是什么意思?

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