import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "([0-9]{3})([0-9]{3})(G|M|R|T{1})([0-9]{1,4}|[0-9]{1,3}K{0,1})(-)([0-9]{1,4}|[0-9]{1,3}K{0,1})(CM|FT|HM|HF|IN|KF|KM|MM|M|NM|SM|YD{1,2})";
final String string = "//Good Data\n"
+ "123345T1234-5678KM\n"
+ "000001T1234-5678KM\n"
+ "001001T1234-5678KM\n"
+ "011001T1234-567KM\n"
+ "011011T1234-567KM\n"
+ "011111T1234-567KM\n"
+ "123345T123-5678KM\n"
+ "123345T123-567KM\n"
+ "123345T123-56KM\n"
+ "123345T12-56KM\n"
+ "123345T12-5KM\n"
+ "123345T1-5KM\n"
+ "123345T1234-567KM\n"
+ "123345T1234-567HF\n"
+ "123345T1234-567SM\n"
+ "123345T123-5678KM\n"
+ "123345T1234-567KKM\n"
+ "123345T123-567KKM\n"
+ "123345T123-567KHF\n"
+ "123345T123-567KSM\n"
+ "123345T123-56KKM\n"
+ "123345T12-56KKM\n"
+ "123345T12-5KKM\n"
+ "123345T12-5KKM\n"
+ "123345T1-5KKM\n"
+ "000359T1234-5678KM\n"
+ "123345T123K-5678KM\n"
+ "123345T12K-5678KM\n"
+ "123345T6K-5678KM\n"
+ "123345T123K-567KKM\n"
+ "123345T12K-56KKM\n"
+ "123345T6K-5KKM\n"
+ "123345T1234-5678M\n\n"
+ "//Bad Data \n"
+ "1234567T1234-5678KM\n"
+ "12345T1234-5678KM\n"
+ "1245T1234-5678KM\n"
+ "145T1234-5678KM\n"
+ "14T1234-5678KM\n"
+ "1T1234-5678KM\n"
+ "123360T1234-5678KM\n"
+ "123345V1234-5678KM\n"
+ "123345T12345-5678KM\n"
+ "123345T1234-56789KM\n"
+ "123345T-5678KM\n"
+ "123345T123-KM\n"
+ "123345T123-56KMK\n"
+ "123345T1234-56KMK\n"
+ "123345T12-5678KKM\n"
+ "123345T1-5\n"
+ "123345T1234567KM\n"
+ "123345T1235678KKM\n"
+ "123345!56T123-567KKM\n"
+ "123!345T123-567KKM\n"
+ "123345T12!3-56KKM\n"
+ "123345T12-5!6KKM\n"
+ "123345T12-5K!KM\n"
+ "1233457T1234-5678K\n"
+ "123345T1234-5678GH\n"
+ "123345T1234-5678MK\n"
+ "123345T1234-5678UUUU\n"
+ " \n"
+ " null\n"
+ " \n"
+ "000359T1234K-5678KM\n"
+ "123345TK-5678KM\n"
+ "123345T1234--5678KM\n\n\n\n";
final Pattern pattern = Pattern.compile(regex);
final Matcher matcher = pattern.matcher(string);
if (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