import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?<=\\d{4}\\-\\d{2}\\-\\d{2}|\\d{4}.\\d{4}|\\d{4}.\\d{1}.\\d{1}.\\d{2}|\\d{4}.\\d{2}.\\d{2}).*?(?=\\d)";
final String string = ". FIRST BANK OF WIKI\n"
+ ", 1425 JAMES ST, PO BOX 4000 CHEQUING ACCOUNT STATEMENT\n"
+ "VICTORIA BC V8X 3X4 1-800-555~5555 Page: 1 of 1\n"
+ "JOHN JONES I Sififi3331‘3311 Erma II EEK-111313010: I\n"
+ "1643 DUN DAS ST W APT 27 2003-10-09 to 200341-08 00005-\n"
+ "TORONTO ON M6K 1V2 123-4567\n"
+ "I sue II 1% 1::ng “W II um II I\n"
+ "2003-10-08 Previous balance 0.55 I\n"
+ "2003-10-14 Payroll Deposit - HOTEL 694.81 695.36\n"
+ "2003-10-14 Web Bill Payment - MASTERCARD 9685 200.00 495.36 \n"
+ "2003—1046 ATM Withdrawal - INTERAC 3990 21 .25 474.11 .\n"
+ "2003-10-16 Fees - lnterac 1 .50 472.61 I\n"
+ "2003-10-20 Interac Purchase - ELECTRONICS 1975 2.99 469.62 .\n"
+ "2003-10-21 Web Bill Payment - AMEX 3314 300.00 169.62\n"
+ "2003-1 0-22 ATM Withdrawal - FIRST BANK 0064 100.00 69.62 .\n"
+ "2003-10-23 lnterac Purchase - SUPERMARKET 1 559 29.08 40.54 I\n"
+ "2003-10-24 Interac Refund - ELECTRONICS 1975 2.99 43.53\n"
+ "2003-10-27 Telephone Bill Payment — VISA 2475 6.77 36.76 I\n"
+ "2003-1328 Payroll Deposit - HOTEL 694.81 731.57 .\n"
+ "2003-10~30 Web Funds Transfer - From SAVINGS 2620 50.00 781.57 I\n"
+ "2003-11-03 Pre-Auth. Payment - INSURANCE 33.55 748.02 .\n"
+ "2003-11-03 Cheque No. - 409 1 00.00 648.02\n"
+ "2003-11-06 Mortgage Payment 710.49 -62.47 .\n"
+ "2003-11-07 Fees - Overdraft 5.00 -67.47 I\n"
+ "2003-11-08 Fees - Monthly 5.00 -72.47\n"
+ "*** Totals m 1 ,515.63 1,442.61 I";
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