java - 使用 Java 模式检查是否存在负面列表字符

标签 java regex pattern-matching user-input

我似乎在运行时错误地使用了表达式。引起胃灼热的那行是

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/

相关文章:

python - 将正则表达式模式作为系统参数传递给 Python 脚本

java - 使用正则表达式来匹配(取消)匹配超过特定值的所有单词长度

python - 正则表达式。匹配包含特殊字符或 'http://' 的单词

java - 使用 javac 进行 Ant 编译未找到主类

java - 程序在Eclipse中运行,导出的可运行jar文件打不开?

java - 在使用带有模式匹配的appendReplacement之前清理输入

bash - 如何从一组文件中删除与某个模式匹配的所有行?

java - 如何用java解析这个文本文件?

java - 我使用 RestTemplate 时不断收到 "Unsupported Media Type"错误

java - 从 cygwin 运行 jar 文件会在命令提示符下运行时抛出错误,为什么? (在窗口中)