javascript - 带有大量 "or' 的正则表达式”

标签 javascript regex parsing street-address

编写一些正则表达式来帮助处理街道地址。但是,我不确定正则表达式是否是解决此问题的正确方法。

我有一个如下所示的街道地址:

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

欢迎任何意见!

最佳答案

如果所有地址都像 <number> <name> <type> 这样简单生活会很简单 - 但事实并非如此,所以事实并非如此。

街道地址对于单个正则表达式而言过于复杂,例如5/45 East 51st St 或 215-217 Long Island Way。您需要:将其分解并解析各个部分,让用户在特定字段中输入地址,或者只接受他们给您的内容。

关于javascript - 带有大量 "or' 的正则表达式”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9458583/

相关文章:

html - Haskell:为什么我的解析器不能正确回溯?

javascript - 从 api 检索 Post 请求响应并将其传递给另一个 post 请求以传递给 angular8 应用程序

javascript - Svg 画笔作为 slider 。如何设置 slider 刻度频率

javascript - 我如何访问另一个函数中的全局变量

java - 从 Java 中的字符串中删除停用词

regex - 使用 pandas 将逗号分隔符添加到 Dataframe 列中的字符串

r - 使用R中的stringr和regex从文本中提取数字

javascript - 通过 POST 发送一个 JavaScript 对象数组

python - 使用 BeautifulSoup 删除第一个子节点

powershell - 解析文本文件并保存为 .csv