我需要使用正则表达式验证一个字符串以只允许一组特定的字符。不幸的是,我只使用正则表达式来验证这些字符串。
无论如何,我需要限制一个字符串只允许以下字符:az 和 AZ 和 0-9 和空格和 .,;:!=+-_
为此,我创建了以下表达式:
[a-zA-Z0-9.,;:!=+-_\s]*
我不明白为什么这个表达式不起作用。当我使用它时,以下测试字符串给了我以下结果:
<test> Valid
$<test> Invalid
test Valid
<test>asdf</test> Invalid
当我真正需要将验证限制为有效字符的特定列表时,似乎正在考虑这些特殊字符的顺序,而不管字符串中的顺序如何。
任何人都可以解释为什么这可能允许特殊字符,例如“<>”,但只能以特定顺序出现?