import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "BN((6(0[0-9]|1[0134]|2[1-9]|3[0-1]))|7(0[68]|1(0|1[A-C])|2([1-4]|5|[7-9])|3[01]))";
final String string = "BN601\n"
+ "BN602\n"
+ "BN603\n"
+ "BN604\n"
+ "BN605\n"
+ "BN606\n"
+ "BN607\n"
+ "BN608\n"
+ "BN609\n"
+ "BN610\n"
+ "BN611\n"
+ "BN612\n"
+ "BN613\n"
+ "BN614\n"
+ "BN615\n"
+ "BN616\n"
+ "BN617\n"
+ "BN618\n"
+ "BN619\n"
+ "BN620\n"
+ "BN621\n"
+ "BN622\n"
+ "BN623\n"
+ "BN624\n"
+ "BN625\n"
+ "BN626\n"
+ "BN627\n"
+ "BN628\n"
+ "BN629\n"
+ "BN630\n"
+ "BN631\n"
+ "BN632\n"
+ "BN701\n"
+ "BN702\n"
+ "BN703\n"
+ "BN704\n"
+ "BN705\n"
+ "BN706\n"
+ "BN707\n"
+ "BN708\n"
+ "BN709\n"
+ "BN710\n"
+ "BN711\n"
+ "BN711A\n"
+ "BN711B\n"
+ "BN711C\n"
+ "BN711a\n"
+ "BN711b\n"
+ "BN711c\n"
+ "BN712\n"
+ "BN713\n"
+ "BN714\n"
+ "BN715\n"
+ "BN716\n"
+ "BN717\n"
+ "BN718\n"
+ "BN719\n"
+ "BN720\n"
+ "BN721\n"
+ "BN722\n"
+ "BN723\n"
+ "BN724\n"
+ "BN725\n"
+ "BN726\n"
+ "BN727\n"
+ "BN728\n"
+ "BN729\n"
+ "BN730\n"
+ "BN731\n"
+ "BN732\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