我试图在电话号码的正则表达式中允许“-”,但 - 通常用于范围(例如 AZ)。那么我如何只允许角色呢?我尝试使用 /- 进行转义,但这不起作用。
$reg_num = "/[^0-9+ ()]/";
您需要使用反斜杠对其进行转义\
。所以应该写成\-
。
把它写在最后,而不是两个字符之间的“-”。非常简化的示例:
[0-9-]
将匹配099-2233-3333
0-9 是一个范围,-
最后是一个单独的破折号来匹配。
把它放在范围的第一位,比如[^-0-9+ ()]
. 连字符需要分隔两个字符来定义范围;如果不是(在这种情况下,因为 the^
也被解释为修饰符,而不是集合中的字符),那么它就像任何其他字符一样只是集合中的一个字符。
使用逃脱\-
\
是转义字符!