我正尝试使用正则表达式替换查询中的模式,如下所示:
final Pattern CONCATE_NUMS_RIGHT_PATTERN = Pattern.compile("(\\S+)\\s*\\|\\|\\s*(\\d+)");
String query=getQuery(); // some 500-600 line String
final Matcher matcher = CONCATE_NUMS_RIGHT_PATTERN .matcher(query);
query = matcher.replaceAll("$1 + $2");
我要做的就是只要正确的操作数是数字,就用 + 替换 || 。
尽管这很好,但较长的查询却要花很长时间。