import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?:A|B|C|D|E|1\\)|2\\)|3\\)|4\\)|5\\)){0,1}(?:\\:|\\.|\\ ){0,1}[^0-9]{0,2}((?:[\\d]{1,2}[\\s|\\+]{1}){0,4}[\\d]{1,2})[\\s]{0,1}\\*[\\s]{0,1}((?:[\\d]{1,2}\\+[\\s]{0,2}){0,98}[\\d]{1,2})(?![\\+|\\-|\\d])[\\s]{1,3}((?:[\\d]{1,2}\\+){0,98}[\\d]{1,2})";
final String string = " 07 12 21 23 24*01+07+\n"
+ " 03+05+08+10+11+13+18+\n"
+ " 19+26+28+29+30+31+32\n"
+ " 03+04+07+08+09+12\n\n"
+ "销 轡 时 间 : 12 . . 14 07 : : 15 金 额 : 28 元\n"
+ "A.34+13+13+13+15+35+98-12+12+12 \n"
+ "1aaa -foosdsdsdTom Thumb\n"
+ " 02+13+13+13+15*05+89-89+12\n"
+ "5s-90\n"
+ "1)红球: 8 10 11 18 20 24 29 \n"
+ " 23 34 \n"
+ " 藍球: 5 15 \n"
+ "B. 红复 : 99 10 11 18 20 24 29 \n"
+ " 藍复 : 55 15 \n"
+ "倍 数 : 1 \n\n"
+ "A.91 12 23 01 12 23 - 12 (1)\n"
+ "***01 12 23 9 12 23+88 (10)\n"
+ "3.01 12 23 9 55 23+ 88 (10)\n"
+ "E:01 12 23 01 12 8 - 12 x999\n";
final Pattern pattern = Pattern.compile(regex);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html