public class MatchAddress {
public static void main(String args[]) {
isAddressValid("John Smith 888 Luck Street,NY 64332");
isAddressValid("John A. Smith 888 Luck Street, NY 64332-4453");
isAddressValid("John Allen Smith 888 Luck Street, NY 64332-4453");
isAddressValid("888 Luck Street, NY 64332");
isAddressValid("P.O. BOX 888 Luck Street, NY 64332-4453");
isAddressValid("John Allen Smith 888 Luck st., NY");
}
public static boolean isAddressValid(String addr) {
boolean retval = false;
String nameToken = "\\p{Upper}(\\p{Lower}+\\s?)";
String namePattern = "(" + nameToken + "){2,3}";
String zipCodePattern = "\\d{5}(-\\d{4})?";
String addressPattern = "^" + namePattern + "\\w+ .*, \\w+ "
+ zipCodePattern + "$";
retval = addr.matches(addressPattern);
String msg = "NO MATCH\npattern:\n " + addr + "\nregexLength:\n "
+ addressPattern;
if (retval) {
msg = "MATCH\npattern:\n " + addr + "\nregexLength:\n "
+ addressPattern;
}
System.out.println(msg + "\r\n");
return retval;
}
}
|