全部,源内容可能是这样的:
String content1 = "url:(\"../../aaa/bbb/ccc\")";
String content2 = "url:('/bb/add/www')";
String content3 = "url:(ggg/eee/xxx)";
String content4 = "url:('../../aaa/bbb/ccc')";
谁能帮我设计一个高性能的 Java 模式匹配器正则表达式,如下所示:
regex = "^[.]*url\\:\\([\"\\'][(?:\\.\\.)?]([^\"\\)]+)[\"\\']\\)$";
public static String parsePath(String content,String regex) {
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(content);
if (matcher.find()) {
return matcher.group(1);
}
return null;
}
我想要 content1 到 content 4 的输入,调用 parsePath 函数将始终返回 /aaa/bbb/ccc 、 /bb/add/www 、 ggg/eee/xxx 、 /aaa/bbb/ccc 。那就是我想跳过前缀("|'..
和后缀'|"
),只想捕捉以 / 开头的中间实际 url 路径。
那么谁能帮助我编写高性能的正则表达式?