1

我有一堆未格式化的文档....

我需要正则表达式来捕获街道地址、邮政编码、州、电话号码、电子邮件等常见格式......

4

2 回答 2

2

该站点提供了一个可搜索的正则表达式库:这本正则表达式食谱包含数百个正则表达式匹配模式的示例

于 2009-09-10T02:44:10.743 回答
0

对于街道地址,在某种程度上,邮政编码,正则表达式只能做到这一点。事实上,尝试对街道进行正则表达式基本上是不可能的,因为街道地址的格式多种多样——即使在美国境内也是如此。

对于严格格式化的美国邮政编码,一个非常有效的正则表达式是:^\d{5}([-+]?\d{4})?$

在美国,邮政编码的格式通常如下:

  • 12345
  • 123456789
  • 12345-6789
  • 12345+6789 12345-67ND(是的,你没看错,有时最后两个可以是“ND”)

您将遇到的另一个问题是,当通过 Excel 运行以零为前缀的 ZIP(例如来自新英格兰的 ZIP)时,它删除了前导零,留下了一个四位数的数字。这就是为什么即使对于像美国邮政编码这样“简单”的东西,单独的正则表达式也无法完成 100% 的工作。

根据业务需求,您需要调查地址验证解决方案。任何称职的在线提供商都可以标准化和验证地址,告诉您地址是否真实,并有助于减少欺诈和退货等。

为了全面披露,我是 SmartyStreets 的创始人。我们有一个在线地址验证服务,可以清理、标准化和验证地址。如果您有任何问题,非常欢迎您亲自与我联系。

于 2011-10-13T03:30:49.277 回答