繁体   English   中英

如何使用Regex解析街道地址?

[英]How to parse street address with Regex?

我正在研究一个正则表达式,以按街道编号,街道名称,城市,州和邮政编码来解析完整地址。

我想出了一个适用于大多数情况的很好的正则表达式,但是,在某些情况下它失败了。 我需要改善它的帮助。 这是我目前所拥有的

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 

我已经对解析地址进行了很多研究,而我提出的这个解决方案只是我找到的最简单的解决方案。 只需要多做一些调整即可。 提前致谢。

您不应该将所有街道地址分解为一个正则表达式。 您最好使用多个正则表达式来处理街道地址,以涵盖各种情况,例如

  • 123 Stackoverflow方式
  • 第五大道5000号
  • 1 Hacker Way大楼5

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM