正则表达式预编译应用

使用正则表达式的预编译功能,可以有效加快正则匹配速度。
Pattern要定义为static final静态变量,以避免执行多次预编译。
示例:

【错误用法】


// 没有使用预编译
private void func(...) {
    if (Pattern.matches(regexRule, content)) {
        ...
    }
}
// 多次预编译
private void func(...) {
    Pattern pattern = Pattern.compile(regexRule);
    Matcher m = pattern.matcher(content);
    if (m.matches()) {
        ...
    }
}

【正确用法】


private static final Pattern pattern = Pattern.compile(regexRule);
 
private void func(...) {
    Matcher m = pattern.matcher(content);
    if (m.matches()) {
        ...
    }
}

 原文链接:https://blog.csdn.net/qq_35312171/article/details/82663344

猜你喜欢

转载自blog.csdn.net/jingnumber/article/details/85258940
今日推荐