import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(\\d+)\\s((\\d+)\\s(.*)\\s?(St|Rd|Ave|Dr|Pl|Sq|Ln))\\s?(W|E|N|S)?,\\s(.*),\\s((\\w+)\\s(.*))\\n";
final String string = "1 1067 Niagara Stone Rd, Niagara-On-The-Lake, ON L0S 1J0\n"
+ "2 4260 Mountainview Rd, Lincoln, ON L0R 1B2\n"
+ "4 1091 Hutchinson Rd, Haldimand, ON N0A 1K0\n"
+ "16 3753 Quarry Rd, Lincoln, ON L0R 1B2\n"
+ "19 131 River Rd, Haldimand, ON N1A 2W3\n"
+ "20 111 Garrison Village Dr, Niagara-On-The-Lake, ON L0S 1J0\n"
+ "21 3678 Victoria Ave, Lincoln, ON L0R 2C0\n"
+ "24 3751 King St, Lincoln, ON L0R 2C0\n"
+ "34 2878 Holland Rd, Thorold, ON L0S 1E6\n"
+ "35 103 Overholt Rd, Pelham, ON L0S 1M0\n"
+ "47 3930 Cherry Ave, Lincoln, ON L0R 1B1\n"
+ "48 4016 Mountain St, Lincoln, ON L0R 1B7\n"
+ "49 135 Taylor Rd, Niagara-On-The-Lake, ON L0S 1J0\n"
+ "50 5943 Sylvia Pl, Niagara Falls, ON L2G 1S9\n"
+ "51 6863 Lundys Ln, Niagara Falls, ON L2G 1V7\n"
+ "55 290 John St E, Niagara-On-The-Lake, ON L0S 1J0\n"
+ "56 5600 King St W, Lincoln, ON L0R 1B3\n"
+ "63 3900 Cherry Ave, Lincoln, ON L0R 2C0\n"
+ "64 282 Ridge Rd N, Fort Erie, ON L0S 1N0\n"
+ "65 4352 Mountainview Rd, Lincoln, ON L0R 1B2\n"
+ "74 1339 Lakeshore Rd, Niagara-On-The-Lake, ON L0S 1J0\n"
+ "75 1425 Lakeshore Rd, Niagara-On-The-Lake, ON L0S 1J0\n"
+ "82 400 Main St W, Grimsby, ON L3M 1T2\n"
+ "83 3620 Moyer Rd, Lincoln, ON L0R 2C0\n"
+ "87 1625 Haist St, Pelham, ON L0S 1E0\n"
+ "91 905 Canborough Rd, Pelham, ON L0S 1C0";
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