首页 > 解决方案 > 确保此方法调用中使用的正则表达式不会导致拒绝服务

问题描述

在下面的代码中,SonarQube 建议避免灾难性的回溯 请建议如何解决 SonarQube 的这种拒绝服务

public static boolean ValidEmailAddress(String email)
{
    final String ePattern = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"
            + "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
    java.util.regex.Pattern pattern = Pattern.compile(ePattern);
    java.util.regex.Matcher m = pattern.matcher(email);
    return m.matches();
}

标签: javasonarqube

解决方案


推荐阅读