Я работаю над проектом по разбору адресов, где мне нужно обнаружить различные компоненты адреса, такие как город, штат, почтовый индекс, street_no и т. Д.
Я написал регулярное выражение для фильтрации почтовых индексов, обрабатывающих все пользовательские данные.
sample_add = "16th main road btm layout 560029 5-6-00-76 56 00 78 560-029 25 -000-1"
regexp = re.compile(r"([\d])[ -]*?([\d])[ -]*?([\d])[ -]*?([\d])[ -]*?([\d])[ -]*?([\d])")
print(re.findall(regexp, sample_add))
Output :- [560029, 560076, 560078, 560029, 250001]
Это позволяет идентифицировать postal_codes для таких адресов, однако, когда приходит адрес, подобный следующему, он объединяет Street nos и интерпретирует его как почтовый код,
Ex. `sample_add_2 = "House no 323/46 16th main road, btm layout, bengaluru 560029"
В этом случае почтовый индекс обозначается как 323461, а правильный - 560029 .