public class Demo {
public static void main(String[] args) {
String temp = "<前>aa<后>dsfsdfsdfsdaf<前>bb<后>";
ArrayList<String> list = getResultArrays(temp);
for (String value : list)
System.out.println("value=" + value);
}
/**
*
* @param str
* 带匹配字符串
* @return
*/
public static ArrayList<String> getResultArrays(String str) {
String tempStr = null;
String value = null;
int endIndex;
ArrayList<String> list = new ArrayList<String>();
Pattern p = Pattern.compile("<前>(.+?)<后>");// 设定匹配规则
Matcher m = p.matcher(str);// 与字符串匹配
while (m.find()) {
tempStr = m.group();
endIndex = tempStr.indexOf(">");// 终点
value = tempStr.substring(endIndex + 1, tempStr.lastIndexOf("<"));// 从第一个结束标识的末尾,到第二个开始标识,就是内容的主体
list.add(value);
}
return list;
}
}
温馨提示:答案为网友推荐,仅供参考