java如何截取最近的两个字符串中的字符?

意思就是有很多相同的“两个字符串”,比如说:
<前>aa<后>dsfsdfsdfsdaf<前>bb<后>
我想要让程序截取<前>和<后>之间的内容。输入aa bb...
好吧我语文是体育老师教的我说不清楚,但不要乱起来回答啊...

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;
}
}

温馨提示:答案为网友推荐,仅供参考
相似回答