Street address regex Python

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

"^(\\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 Python:

# Validate street address
street_address_validate_pattern = "^(\\d{1,}) [a-zA-Z0-9\\s]+(\\,)? [a-zA-Z]+(\\,)? [A-Z]{2} [0-9]{5,6}$"
re.match(street_address_validate_pattern, "3344 W Alameda Avenue, Lakewood, CO 80222") # Returns Match object

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.