我正在使用正则表达式来解析街道号码,街道名称,城市,州和邮政编码的完整地址。
我提出了一个非常好的正则表达式,适用于大多数情况,但是,有几种情况它失败了。我需要帮助改进它。这是我目前的
Pattern pattern = Pattern.compile("^([\\d-]{0,}[\\s-]{0,}[\\d/]+)[\\s]{0,}");
如果街道地址很好地形成,地址以没有附加字母的街道号码开头,这样就可以正常工作。例如:
123 Street Address, CA, 55555
正常运行。 但123 4th Street Address, CA, 55555
会导致:
1234 => street number
th Street => street name
我已经对解析地址做了大量研究,我提出的这个解决方案就是我发现的最简单的解决方案。只需要多一点调整。提前谢谢。
答案 0 :(得分:1)
您不应将所有街道地址分解为一个正则表达式。你最好处理具有多个正则表达式的街道地址,以涵盖各种各样的场景,例如。