正则表达式 'blacklist' 字符验证器返回奇数结果
Regex 'blacklist' character validator returning odd result
这是正则表达式:
^[^~^\/&$-+]*$
这是测试字符串:
a(b
即使 (
没有出现在黑名单中,这个 returns 没有匹配。这是没有意义的。有人知道为什么吗?
你必须在字符 class:
的末尾加上破折号
更改自:
^[^~^\/&$-+]*$
^---- Here the dash works as a range instead of a single character
到
^[^~^\/&$+-]*$
^--- Here works as the single "-" character
顺便说一句,正如 Mr. Lama 在他的评论中指出的那样,您也可以像这样转义破折号:
^[^~^\/&$\-+]*$
^-- escaped here
这是正则表达式:
^[^~^\/&$-+]*$
这是测试字符串:
a(b
即使 (
没有出现在黑名单中,这个 returns 没有匹配。这是没有意义的。有人知道为什么吗?
你必须在字符 class:
的末尾加上破折号更改自:
^[^~^\/&$-+]*$
^---- Here the dash works as a range instead of a single character
到
^[^~^\/&$+-]*$
^--- Here works as the single "-" character
顺便说一句,正如 Mr. Lama 在他的评论中指出的那样,您也可以像这样转义破折号:
^[^~^\/&$\-+]*$
^-- escaped here