正则表达式删除门牌号码,除非它也有字母

问题描述

我有两个地址

  1. 226 W 750 S 应等于 W 750 S
  2. 5th Avenue East Unit#B32c 应该等于 5th Avenue East

有了这个正则表达式 ^\d+|Unit.+|(.+)|or\s.+|#.+|,.+|.$ 我明白了

  1. W 750 S - 正确
  2. th Avenue East - 不正确

使用这个正则表达式 s-\d+|Unit.+|(.+)|or\s.+|#.+|\d+\s|\d+\w{1}\s|\d+ \w{1}$ 我明白了

  1. W S - 不正确
  2. 第五大道东 - 正确

任何人都可以帮助调整任何一种表达以适应这两种情况。

感谢您的帮助!!

解决方法

这行得通:

^\d+(?![a-zA-Z])\s*|\s*Unit.+

https://regex101.com/r/F0PjEN/1

,

我很欣赏这些建议。这就是我所采用的,并与其他几种地址格式一起使用。我这里可能有额外的东西,但它有效。

^[^#th]\d+|Unit.+|.-|\(([^)]+)\)|or\s.+|#.+|\d+\w{1}$