import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^.*TELEPHONE NUMBER(.*)DATE ACCOUNT OPENED(.*)LANG CODE(.*)CHAIN CODE(.*)TRANSIT ROUTING NUM(.*)DATE OF LAST REVIEW(.*)DATE OF NEXT REVIEW(.*)ALT TRANSIT ROUTING NUM(.*)AVERAGE FLOAT DAYS(.*)SPECIAL CONTROL FLAGS(.*)SEASONAL MERCHANT(.*)STATEMENT HOLD CODE(.*)SEND ACQUIRER(.*)STATEMENT MAIL FLAG(.*)MONTHLY ACH FLAG(.*)MERCHANT NAME(.*)MERCHANT TYPE(.*)DDA NUMBER(.*)ALT DDA NUMBER(.*)AUTH INC GRID(.*)AUTH EXP GRID(.*)CROSS REFERENCE NO.(.*)ETC NON FDR FLAG(.*)ETC VENDOR ID(.*)SALES RESPONSIBILITY(.*)USER DEF INC GRID(.*)USER DEF EXP GRID(.*)TAXPAYER ID(.*)ACCOUNT1 FEE FLAG(.*)ACCOUNT1 START(.*)STOP(.*)MRCH ADV FLAG(.*)ACCOUNT2 FEE FLAG(.*)ACCOUNT2 START(.*)STOP(.*)TERMINAL START(.*)STOP(.*)ACCOUNT3 FEE FLAG(.*)ACCOUNT3 START(.*)STOP(.*)SPARK EXCLUSION CD(.*)ACCOUNT4 FEE FLAG(.*)ACCOUNT4 START(.*)STOP(.*)PAYEE FLAG CD(.*)ACCOUNT5 FEE FLAG(.*)ACCOUNT5 START(.*)STOP(.*)EIDS IND(.*)RECURRING FEE FLAG(.*)RECURRING FEE IND(.*)BUW INDICATOR(.*)TURF CD(.*)TURF EFF DT(.*)TAX EFF YEAR(.*)BANKCARD DBA(.*)TIMS ACCT ID(.*) RETAIL DBA(.*)CUST BUSINESS ID(.*)CUST BUS RELATIONSHIP CD(.*)DEPOSIT TYPE(.*)ETC ACCOUNT TYPE(.*)DEVICE TYPE(.*)EXCLUDE ADJ FLAG(.*)MC\\/V POS(.*)DISCOUNT CALCULATION(.*)ROUND DISCOUNT(.*)REBATE DISTRIBUTE(.*)REBATE OPTION(.*)REBATE PERIOD(.*)";
final String string = "0 TELEPHONE NUMBER 612-874-8702 DATE ACCOUNT OPENED 01/27/14\n"
+ " LANG CODE - EN CHAIN CODE TRANSIT ROUTING NUM 96001013\n"
+ " DATE OF LAST REVIEW 00/00 DATE OF NEXT REVIEW 01/15 ALT TRANSIT ROUTING NUM\n"
+ " AVERAGE FLOAT DAYS 00-00 SPECIAL CONTROL FLAGS SEASONAL MERCHANT NO\n"
+ " STATEMENT HOLD CODE Y - SEND ACQUIRER STATEMENT MAIL FLAG M - MERCH ADDRESS MONTHLY ACH FLAG 1 - MERCHANT NAME\n"
+ " MERCHANT TYPE REGULAR DDA NUMBER 12000069001 ALT DDA NUMBER\n"
+ " AUTH INC GRID P801 AUTH EXP GRID 000 CROSS REFERENCE NO. 0000326\n"
+ " ETC NON FDR FLAG N ETC VENDOR ID SALES RESPONSIBILITY 0001\n"
+ " USER DEF INC GRID 000 USER DEF EXP GRID 000 TAXPAYER ID 30-0016022\n"
+ " ACCOUNT1 FEE FLAG 3 ACCOUNT1 START 00/00 STOP 00/00 MRCH ADV FLAG 0\n"
+ " ACCOUNT2 FEE FLAG 1 ACCOUNT2 START 00/00 STOP 00/00 TERMINAL START 00/00 STOP 00/00\n"
+ " ACCOUNT3 FEE FLAG 1 ACCOUNT3 START 00/00 STOP 05/17 SPARK EXCLUSION CD N\n"
+ " ACCOUNT4 FEE FLAG 0 ACCOUNT4 START 00/00 STOP 00/00 PAYEE FLAG CD S\n"
+ " ACCOUNT5 FEE FLAG 1 ACCOUNT5 START 00/00 STOP 00/00 EIDS IND N\n"
+ " RECURRING FEE FLAG RECURRING FEE IND BUW INDICATOR\n"
+ " TURF CD A TURF EFF DT 00/00/0000 TAX EFF YEAR 0000\n"
+ " BANKCARD DBA - ACADIA CAFE /MINNEAPOLIS /MN TIMS ACCT ID O0529808390100022000\n"
+ " RETAIL DBA - ACADIA CAFE MINNEAPOLIS MN\n"
+ " CUST BUSINESS ID CUST BUS RELATIONSHIP CD\n"
+ " - - - - - - - - - - - - - - - - - - - - - - - - - - - - MERCHANT OPTIONS - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n"
+ " DEPOSIT TYPE 3 - ETC ETC ACCOUNT TYPE 7 - RESERVED DEVICE TYPE NONE\n"
+ " EXCLUDE ADJ FLAG Y - EXCL ADJ/CB MC/V POS 0922\n"
+ " DISCOUNT CALCULATION - 2 ROUND DISCOUNT - N\n"
+ " REBATE DISTRIBUTE REBATE OPTION N - NO REBATE REBATE PERIOD ";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
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