我找到了一个符合规则的正则表达式.
允许的角色
字母:az/AZ
数字:0-9
特殊字符:〜@#$ ^&*() - _ + = [] {} | \,.?:(
应允许空格)
不允许
特殊字符:<>'"/;`%
Joe*_*oey 35
对于您可以使用的允许字符
^[a-zA-Z0-9~@#$^*()_+=[\]{}|\\,.?: -]*$
Run Code Online (Sandbox Code Playgroud)
验证应该只包含允许字符的完整字符串.请注意,-最后(因为否则它是一个范围)并且转义了一些字符.
对于您可以使用的无效字符
[<>'"/;`%]
Run Code Online (Sandbox Code Playgroud)
检查他们.
要将两者组合成单个正则表达式,您可以使用
^(?=[a-zA-Z0-9~@#$^*()_+=[\]{}|\\,.?: -]*$)(?!.*[<>'"/;`%])
Run Code Online (Sandbox Code Playgroud)
但你需要一个允许前瞻的正则表达式引擎.
你实际上没有问过一个问题,但假设你有一个问题,这可能就是你的答案......
假设允许除"特殊字符"之外的所有字符,您可以编写
String regex = "^[^<>'\"/;`%]*$";
Run Code Online (Sandbox Code Playgroud)