import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^(\\d{4}[A-Z]{2}) ([\\w\\.\\'\\/\\- ]+) (\\w?[0-9]+[a-zA-Z0-9\\- ]*)";
final String string = "# Simple \n\n"
+ "5913ST PRINSENSTRAAT 6\n"
+ "3421ED OUDE SINGEL 11-21\n"
+ "6546EX HORSTACKER 16-44 A\n"
+ "5473CA PLEIN 1969 13A\n"
+ "6533VD ST. JACOBSLAAN 339\n"
+ "7622CN 'T DIJKHUIS 36\n"
+ "5022EH PATER V/D ELSENPLEIN 86\n"
+ "6533VD P/A ST. JACOBSLAAN 339\n"
+ "3262JP WEST-VOORSTRAAT 20\n"
+ "6212BP GLACISWEG 30 K-L\n"
+ "6216BX BECANUSSTRAAT 15A04\n"
+ "9663PR ALBATROSSTRAAT B75\n";
final Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE | 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