标签: php preg-match
我知道这对某些人来说非常基本,但这让我头疼。为什么这种模式
/[!@#$%^&*()+|.*-<>\'`]/
在数字输入上返回true,即abcd123。在this tester
答案 0 :(得分:5)
您需要转义破折号,否则将其解释为字符范围\x2A-\x3E:
\x2A-\x3E
/[!@#$%^&*()+|.*\-<>\'`]/
答案 1 :(得分:1)
这是因为正则表达式中有-符号。
-
答案 2 :(得分:0)
你必须反斜杠“ - ”,如下所示:
/[!@#$%^&()+|.\-<>\'`]/
我认为你也应该反斜杠所有的特殊字符。