[英]Regex: extracting a house number from an address
我有以下几种模式:
并且只希望得到以下结果(因为Box 15,Bte 15是箱号,而我只希望房屋nbr +可能附在房屋号上的字母):
使用正则表达式可以吗? 我尝试了以下操作: REGEXP_SUBSTR(my_string_variable, '^\\d+(\\s*\\w$)?')
。 但是,这仅适用于模式3-5,不适用于前2个和最后一个模式。 从regex
删除$
将错误地“剥离”模式5和6的第一个字母。
我基本上假设,如果数字后面的字母超过1个字符,则它属于盒号。 例如, BTE
是Boite
的法语缩写,意为Box
。 我知道,如果门牌号包含2个字母(例如11个AA),这可能是无效的,但是我不知道解决方案,因此我认为这种情况很少发生。
这将删除: 一个空格,后跟一个大写字母,然后至少一个小写字母,然后是一个可选空格,后跟任意数量的数字 :
RegExp_Replace(house_number, '\s[A-Z][a-z]+\s+\d+$')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.