Если я могу сделать предложение ... просто используя регулярные выражения для манипулирования адресными данными, это похоже на использование одного отбойного молотка для вырезания горы.Рашмор с горы.На первый взгляд может показаться, что это работает, но впереди еще много работы.
Рассматривали ли вы адреса, введенные во всех формах и с компонентами в разных порядках, чем ожидалось?А как насчет названий улиц без "th" или "st" по номеру, и т. Д. И т. Д. (Здесь слишком много дел, чтобы перечислять их).
Я работаю на SmartyStreets , где наша экспертизастандартизация и проверка адресов.Для вашей задачи вы можете подключиться к сертифицированному CASS API-интерфейсу, чтобы вернуть адрес, стандартизированный и разбитый на части (разбитый на части), так что вы можете оставить только те части, которые хотите, и быть точными .Я предлагаю вам взглянуть на что-то вроде LiveAddress , которое предоставляет это бесплатно.Проведите небольшое исследование самостоятельно, и я буду рад помочь ответить на другие ваши вопросы, связанные с адресами.