我正在寻找符合以下规则的正则表达式。
允许的字符
字母表:a-z/A-Z
数字:0-9
特殊字符:~@#$^&*()-_+=[]{}|\, 。 ? :
(应该允许有空格)
不允许
特殊字符:< > ' "/; ` %
最佳答案
对于允许使用的字符
^[a-zA-Z0-9~@#$^*()_+=[\]{}|\\,.?: -]*$
验证应仅包含允许字符的完整字符串。请注意,-
位于末尾(否则它将是一个范围)并且转义了一些字符。
对于你可以使用的无效字符
[<>'"/;`%]
检查它们。
要将两者组合成一个正则表达式,您可以使用
^(?=[a-zA-Z0-9~@#$^*()_+=[\]{}|\\,.?: -]*$)(?!.*[<>'"/;`%])
但您需要一个允许前瞻的正则表达式引擎。
关于java - 正则表达式包括和排除特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10173460/