import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^.*(po\\s*box|private\\s*bag).*$|^\\d[\\/a-zĀ-ū0-9\\s\\,\\'\\-]*$";
final String string = "Street address:\n"
+ "¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\n"
+ "224B Clarence Street, Vogeltown, Wellington 6023\n\n"
+ "Rural address:\n"
+ "¯¯¯¯¯¯¯¯¯¯¯¯¯¯\n"
+ "128 Valley Road North, RD 2, Middlemarch 9597\n\n"
+ "PO Box:\n"
+ "¯¯¯¯¯¯¯\n"
+ "PO Box 17999, Greenlane, Auckland 1546\n\n"
+ "Street – with unit:\n"
+ "¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\n"
+ "3/123 Johnstone Street West, Point Chevalier, Auckland 1022\n\n"
+ "Rural address with unit:\n"
+ "¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\n"
+ "8/56 Maple Boulevard, RD 2, Wanaka 9382\n\n"
+ "Private Bag:\n"
+ "¯¯¯¯¯¯¯¯¯¯¯¯\n"
+ "Private Bag 93899, Auckland 0753\n\n"
+ "Street – with building name:\n"
+ "¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\n"
+ "Level 2 Colombo House, 3A/1222 Colombo Street, St Albans, Christchurch 8014\n\n"
+ "Rural address – with building name:\n"
+ "¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\n"
+ "Totârä Farm, 2/12543 Farm Road, RD 1, Outram 9073\n\n\n\n"
+ "Other addresses around the world:\n"
+ "¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\n"
+ "813 Howard Street, Oswego, NY 13126, USA\n"
+ "1 Beacon Street, 33rd Floor, Boston, MA 02108, USA\n"
+ "Hagagatan 1 vi, SE-113 49 Stockholm, Sweden\n"
+ "John A. Smith, ACME Innovations Inc., PO BOX 1033, Los Angeles, CA\n"
+ "c/o Henry Roth, 50 Oakland Ave,#206, A City, Florida, 32104, USA\n"
+ "10 Downing Street, London, Greater London, SW1A 2AA, United Kingdom\n"
+ "Av. de Senalèche 27, 1009 Pully, Switzerland\n"
+ "17, Rue Bergère, 75009 Paris, France\n"
+ "11 Bis Av. Gabriel Péri, 38150 Roussillon, France\n"
+ "Apostel-Paulus-Strasse 7, 10823 Berlin, Deutschland\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