我试图获取所有以_
开头并以=
结尾的匹配,其中的网址类似于
?_field1=param1,param2,paramX&_field2=param1,param2,paramX
在这种情况下,我正在寻找_fieldX=
我用来获取它的方法看起来像
public static List<String> getAllMatches(String url, String regex) {
List<String> matches = new ArrayList<String>();
Matcher m = Pattern.compile("(?=(" + regex + "))").matcher(url);
while(m.find()) {
matches.add(m.group(1));
}
return matches;
}
称为
List<String> fieldsList = getAllMatches(url, "_.=");
但不知何故找不到我所期望的任何东西。
我错过了哪些建议?
答案 0 :(得分:1)
由于您正在将正则表达式传递给该方法,因此您似乎需要一个通用函数。
如果是这样,您可以使用此方法:
public static List<String> getAllMatches(String url, String start, String end) {
List<String> matches = new ArrayList<String>();
Matcher m = Pattern.compile(start + "(.*?)" + end).matcher(url);
while(m.find()) {
matches.add(m.group(1));
}
return matches;
}
并将其命名为:
List<String> fieldsList = getAllMatches(url, "_", "=");
答案 1 :(得分:1)