我试图允许' - '在电话号码的正则表达式中, - 通常用于范围(例如A-Z)。那么如何才允许这个角色呢?我尝试使用/ - 转义,但这不起作用。
$reg_num = "/[^0-9+ ()]/";
答案 0 :(得分:5)
您需要使用反斜杠\
来转义它。所以它应该写成\-
。
答案 1 :(得分:3)
将它写在最后而不是' - '在两个字符之间。
很简单的例子:
[0-9-]
会匹配099-2233-3333
,其中0-9是一个范围,最后的-
是一个单独的短划线符号来匹配。
答案 2 :(得分:1)
首先放在范围内,例如[^-0-9+ ()]
。连字符需要分隔两个字符来定义范围;如果不是(在这种情况下,因为^
也被解释为修饰符,而不是集合中的字符),那么它就像集合中的任何一个字符一样。
答案 3 :(得分:0)
使用\-
\
是逃脱角色!