方法如下:
public static List<String> getSubUtil(String soap, String rgex){
List<String> list = new ArrayList<String>();
Pattern pattern = Pattern.compile(rgex);// 匹配的模式
Matcher m = pattern.matcher(soap);
while (m.find()) {
int i = 1;
list.add(m.group(i));
i++;
}
return list;
}
例子:
//前端穿的编码后的数据
String data = "%3Cp%3Edfer%24armorPhone%24%E8%89%B0%E5%A4%BA%24deposit%24%3C%2Fp%3E%3Cp%3E%3Cbr%3E%3C%2Fp%3E";
//对其进行解码
String decode = URLDecoder.decode(data, "UTF-8");
//比如要取两个$之间的数据
List<String> list = getSubUtil(decode, "\\$(.*?)\\$");
System.out.println(list);
System.out.println(decode);
结果: