private List compilePatterns()

in src/main/java/org/apache/maven/plugins/changelog/ChangeLogReport.java [721:738]


    private List<Pattern> compilePatterns(String[] patternArray) {
        if (patternArray == null) {
            return new ArrayList<>();
        }
        List<Pattern> patterns = new ArrayList<>(patternArray.length);
        for (String string : patternArray) {
            // replaces * with [/\]* (everything but file seperators)
            // replaces ** with .*
            // quotes the rest of the string
            string = "\\Q" + string + "\\E";
            string = string.replace("**", "\\E.?REPLACEMENT?\\Q");
            string = string.replace("*", "\\E[^/\\\\]?REPLACEMENT?\\Q");
            string = string.replace("?REPLACEMENT?", "*");
            string = string.replace("\\Q\\E", "");
            patterns.add(Pattern.compile(string));
        }
        return patterns;
    }