1.提取所有以订单开头的内容
public class Regex1 {
public static void main(String[] args){
String str = "我的订单KJ0001,我的订单KJ0001订单,订单KJ0001,我的订单KJ0001,不是订单KJ0001,订单KJ0001,。";
String rgex = "订单.+?";
Pattern pattern = Pattern.compile(rgex);
Matcher m = pattern.matcher(str);
int start = 0;
int end = 0;
while (m.find() ) {
end= m.start();
if (end == 0) {
continue;
}
if (start > 0) {
System.out.println(str.substring(start, end));
}
start = end;
}
System.out.println(str.substring(start));
}
}
2.提取文本种依次出现的内容
public class Regex {
public static void main(String[] args){
String str = "订单KJ0001,张三您已购10月10日G01次10车1A号,北京南10:10开,检票口:A1。请持购票证件进站乘车。";
String reg = "^订单(.*),(.*)您已购(.{1,2})月(.{1,2})日(.*次)(.*号),(.*)(([0-9]\\d:+)([0-9])+开),(.*)$";
Pattern pattern = Pattern.compile(reg);
Matcher m = pattern.matcher(str);
if (m.find()) {
System.out.println(m.group(1));
System.out.println(m.group(2));
System.out.println(m.group(3));
System.out.println(m.group(4));
System.out.println(m.group(5));
System.out.println(m.group(6));
System.out.println(m.group(7));
System.out.println(m.group(8));
}
}
}