【发布时间】:2012-02-27 00:09:26
【问题描述】:
编写一些正则表达式来帮助处理街道地址。但是,我不确定正则表达式是否是解决此问题的正确方法。
我的街道地址如下所示:
7829 Hollywood Ave
我想写一个这样的正则表达式(伪-ode):
match a NUMBER then ONE OR MORE WORDS then a STREET TYPE
在 javascript 中,这个正则表达式看起来像这样:
/^\d+\s+.*(\sAve|\sStreet|\sSt.|..800 MORE ABBREVIATIONS!...)/ig
如你所见,因为有800+ postal street "type" abbreviations,这个正则表达式会很大。我必须使用计算机代码实际生成它,这可以,但我不确定这是解决此类问题的好方法吗?
我可以看到这个问题已经到了我想编写一个正则表达式的地步,它试图将街道名称与数据库中的街道名称进行匹配。然后我真的看不出标准正则表达式在这种情况下如何工作:
match a NUMBER then **A STREET NAME IN A DATABASE** then a STREET TYPE
感谢任何输入!
【问题讨论】:
-
我住过四个你的 reg exp 会失败的地方!
-
即使对于您现有的正则表达式,我也会将
\s从所有 OR 案例中移出,并将其放在(之前一次 - 这样可以节省 1600 个字符... -
其实1598,你还需要一个实例。 :-)
标签: javascript regex parsing street-address