0

我试图在电话号码的正则表达式中允许“-”,但 - 通常用于范围(例如 AZ)。那么我如何只允许角色呢?我尝试使用 /- 进行转义,但这不起作用。

$reg_num = "/[^0-9+ ()]/"; 
4

4 回答 4

5

您需要使用反斜杠对其进行转义\。所以应该写成\-

于 2012-07-23T03:56:22.100 回答
3

把它写在最后,而不是两个字符之间的“-”。非常简化的示例: [0-9-]将匹配099-2233-33330-9 是一个范围,-最后是一个单独的破折号来匹配。

于 2012-07-23T03:56:27.997 回答
1

把它放在范围的第一位,比如[^-0-9+ ()]. 连字符需要分隔两个字符来定义范围;如果不是(在这种情况下,因为 the^也被解释为修饰符,而不是集合中的字符),那么它就像任何其他字符一样只是集合中的一个字符。

于 2012-07-23T03:58:35.290 回答
0

使用逃脱\-

\

是转义字符!

于 2012-07-23T04:02:03.393 回答