例如:
如果我写#hello @#%^它会返回false,因为它包含一个我禁止的特殊字符。
如果我打招呼,那就是真的。
如果我写$,那将是假的。
我要排除的字符列表类似于:`〜! @#$%^& * {} []“':;,。<>?/ | \\我只需要一个正则表达式来检测是否有任何后续字符在字符串中,如果它们将返回false。谢谢和抱歉非正式。
的问候,
萨姆
答案 0 :(得分:0)
根据您的意图,最简单的方法可能是枚举您 想要允许的字符,la:
if(myString.matches("[a-zA-Z0-9_ ]*")) ...
这将允许包含下划线和空格的任何字母数字字符串。如果你真的需要只匹配包含明确列举的禁用字符列表的字符串,那么你必须枚举它们并转义那些特殊的正则表达式字符:
import java.util.regex.Pattern;
...
String forbiddenCharacters = "`~!@#$%^&*{}[]"':;,.<>?/|\\";
if(!myString.matches(".*[" + Pattern.quote(forbiddenCharacters) + "].*")) ...
几点说明: