正则表达式不匹配" ave"如果行结束

时间:2017-01-27 18:36:42

标签: regex

我正在尝试解析地址,但是我遇到了以#34; ave"结尾的街道问题。匹配,因为单词avenue也需要匹配为街道名称。

Regex Test

(?<=[\d\w] )((?!\s(court|ct|street|st|drive|dr|lane|ln|road|rd|blvd|cir|trl|trail|crossing|xing|pl|place|ave\s|cv|cove|trce|trace|mnr|way|loop|bnd|bend|lndg|landing|path|pkwy|parkway|pass|rdg|ridge|vw)).)*

例如:

123 testing blah ave
MATCH: testing blah ave
EXPECTED: testing blah

123 avenue d
MATCH: avenue d
EXPECTED: avenue d

只需在&#34; ave&#34;的末尾添加一个空格纠正比赛然而它没有空间。

1 个答案:

答案 0 :(得分:1)

使用ave\b代替ave\s。如果 ave 后跟一个空格,它们的效果会相同;但是如果 ave 后面跟着行尾,那么\b仍会匹配而\s赢了(它需要一个真正存在的空格)。