目前我有我的正则表达式将地址分成不同的组。我面临的问题是,当地址末尾没有街道类型且街道名称中出现匹配时。
例如,我搜索街道类型时包含的单词是“ridge”。地址“123 Cambridge Bay”将“camb”与街道名称相匹配,将“ridge”作为街道类型,实际上不应该匹配街道类型。只有街道名称为“剑桥湾”
正则表达式:
(\d+).*?((?:[a-z](?:[a-z]|[^\S\r\n])+)).*?((?:court|ct|street|st|drive|dr|lane|ln|road|rd|blvd|cir|trl|trail|crossing|xing|pl|place|ave|cv|cove|trce|trace|mnr|way|loop|bnd|bend|lndg|landing|path|pkwy|parkway|pass|rdg|ridge|vw)).*?((?:UNT|\#)[^\S\r\n]?\w|\w.*)?$|(\d+).*?((?:[a-z](?:[a-z]|[^\S\r\n])+))$
简单地添加“123剑桥湾博士”工作正常
你可以在这里看到这个