我似乎在运行时错误地使用了表达式。引起胃灼热的那行是
String expression = "$+!*'(),{}|\^[]`<>#%";/?:&=";
这是我的代码
public static boolean hasBlackListCharacters(CharSequence strString)
{
boolean hasBlackListedChar = false;
String expression = "$+!*'(),{}|\^[]`<>#%";/?:&=";
Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(strString);
if (matcher.matches()) {
hasBlackListedChar = true;
}
return hasBlackListedChar;
}
输入不应与以下任何字符匹配。
$+!*'(),{}|\^[]`<>#%";/?:&=
输入字符串
<img src = "http://evil.com">
必须搜索 CharSequence
是否存在这些字符..并相应地返回或 false。
最佳答案
private static Pattern pattern = Pattern.compile("[$+!*'(),{}|\\\\^\\[\\]`<>#%\";/?:&=]");
public static boolean hasBlackListCharacters(String strString) {
return pattern.matcher(strString).find();
}
关于java - 使用 Java 模式检查是否存在负面列表字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39313202/