第一步:
1.例子:
import java.util.LinkedList;
import java.util.List;
import java.util.StringTokenizer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
/**
* 正则表达式
*/
public static void main(String[] args) {
//替代字符串
System.out.println("=============替代字符串=============");
String messageReplace = "我是一个大帅哥,帅哥,哥";
Pattern patterReplace = Pattern.compile(",");
messageReplace = patterReplace.matcher(messageReplace).replaceAll(",");
System.out.println(messageReplace);
//截取字符串
System.out.println("=============截取字符串=============");
String messageCut = "expected:哥 expected:哥 but was:帅哥but was:帅哥";
Pattern patterCut1 = Pattern.compile("(expected:)(.*?)(but was:)(.*)");
Pattern patterCut2 = Pattern.compile("(expected:)(.*)(but was:)(.*)");
Matcher match1 = patterCut1.matcher(messageCut);
if(match1.find()){
System.out.println((match1.group(2)));
System.out.println(match1.group(4));
}
Matcher match2 = patterCut2.matcher(messageCut);
if(match2.find()){
System.out.println((match2.group(2)));
System.out.println(match2.group(4));
}
//分割字符串
System.out.println("=============分割字符串=============");
String messageSplit = "(1,2,3),(4,5,6,7),(8,9,10)";
List<List<Object>> paramList = new LinkedList<List<Object>>();
Pattern patternSplit = Pattern.compile("(\\()(.*?)(\\))");
Matcher match = patternSplit.matcher(messageSplit);
while (match.find()) {
List<Object> list = new LinkedList<Object>();
String strList = match.group(2);
StringTokenizer st = new StringTokenizer(strList,",");
while (st.hasMoreElements()) {
Object param = st.nextElement();
list.add(param);
}
paramList.add(list);
}
System.out.println(paramList);
}
}
2.运行结果:
参考资料:
1.http://www.iteye.com/topic/603554
2.http://www.iteye.com/topic/1127566