问题描述
我有两个地址
- 226 W 750 S 应等于 W 750 S
- 5th Avenue East Unit#B32c 应该等于 5th Avenue East
有了这个正则表达式 ^\d+|Unit.+|(.+)|or\s.+|#.+|,.+|.$ 我明白了
- W 750 S - 正确
- th Avenue East - 不正确
使用这个正则表达式 s-\d+|Unit.+|(.+)|or\s.+|#.+|\d+\s|\d+\w{1}\s|\d+ \w{1}$ 我明白了
- W S - 不正确
- 第五大道东 - 正确
任何人都可以帮助调整任何一种表达以适应这两种情况。
感谢您的帮助!!
解决方法
这行得通:
^\d+(?![a-zA-Z])\s*|\s*Unit.+
https://regex101.com/r/F0PjEN/1
,我很欣赏这些建议。这就是我所采用的,并与其他几种地址格式一起使用。我这里可能有额外的东西,但它有效。
^[^#th]\d+|Unit.+|.-|\(([^)]+)\)|or\s.+|#.+|\d+\w{1}$