Street address regex Java

Street address

Usually, it’s a bad idea to validate street addresses using regular expressions (read below). But in some cases it might make sense and here’s a regular expression that can help with that

Simple address regex

Below is a regex that check for a pattern: Addr# Street Name, City, State ZIP code

Pattern.compile("^(\\d{1,}) [a-zA-Z0-9\\s]+(\\,)? [a-zA-Z]+(\\,)? [A-Z]{2} [0-9]{5,6}$")

Test it!
/^(\d{1,}) [a-zA-Z0-9\s]+(\,)? [a-zA-Z]+(\,)? [A-Z]{2} [0-9]{5,6}$/

True

False

Enter a text in the input above to see the result

Example code in Java:

import java.util.regex.Pattern;
import java.util.regex.MatchResult;
import java.util.Arrays;

public class Main {

    public static void main(String []args) {
        // Validate mac address
        boolean isMatch = Pattern.compile("^(\\d{1,}) [a-zA-Z0-9\\s]+(\\,)? [a-zA-Z]+(\\,)? [A-Z]{2} [0-9]{5,6}$")
               .matcher("3344 W Alameda Avenue, Lakewood, CO 80222")
               .find(); 
        System.out.println(isMatch); // prints true
    }
}

Test it!

True

False

Enter a text in the input above to see the result

Test it!

True

False

Enter a text in the input above to see the result

Notes on street address regex validation

Validating an address with a regex is usually a bad idea because of the way how address is written in different parts of the world. Usually, it’s better to just check that the address is not empty and let the user enter what do they want. Another way would be to use a third-party library like Google Places API which will convert information a user entered in a unique ID that would identify that address.