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

关于转义-

$p = '/\d+-\d+/';

这样的话也匹配成功了 答案写的是\- 为什么这个“-” 也要转义呢

正在回答

2 回答

如果短横线-是在方括号[]内,则需要使用反斜杠\转义,因为短横线-在方括号[]内有特殊含义,代表了字符的范围,如[0-9],0-9之间的所有数字。反之,如果短横线-在方括号[]外,因为-在方括号外不具有特殊含义,不需要进行转义。但是你发现,即使你在方括号外对不需要转义的字符,如这里的-使用了转义符\写成\-也是可以的,这样可以提高代码的可读性,编译器应该在编译的时候会发现不需要它实际上不需要转义而对其忽略。

顺便说一下,如果你想使用字符\的话,需要对其进行转义写成\\,这样匹配出来的才是\字符,在方括号内外\都具有转义作用。

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

因为 '-'符号可以代表 标记字符范围 如 [a-b]

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

举报

0/150
提交
取消

关于转义-

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