我正在使用正则表达式解析地址字段。如何包含某些模式?
案例1:
Address Format : (House_NMBR)(SPACE)(STREET)
用于解析AddressLine字段中以数字开头的House_Number。 -/允许使用符号。在房屋nmbr中也允许使用单个字母。
以下是门牌号可接受的一些数据:
预期数据:
11
11-11
11-11-11
11 A
11A
11 / A
11 / A,
我在下面写了正则表达式,
正则表达式模式
(^[0-9]+[\s]?[A-Za-z]{0,1}[-]?[\/]?[0-9]?[\s]?[A-Za-z]{0,1}[-]?[\/]?[0-9]?[\s]?[A-Za-z]{0,1}[,]?)
它解析1-1-1或11-11,但不解析111-111。
案例2:
Address Format : (HouseNmbrExtension)(space)(HouseNumber)
可能有一些单词列表,例如楼层编号(第一层,第二层)或套房,楼层等,后面是数字。最后一个空格后的数字模式转到房屋号部分。
预期数据:
12 333级>>级别12(HouseNmbrExtension),333(房子编号)
SUITE32 33/44 >> SUITE32(HouseNmbrExtension),33/44(房子编号)
1楼300 >> 1楼(HouseNmbrExtension),300(门牌号码)
3rd FL 900 >> 3rd FL(HouseNmbrExtension),900(HouseNumber)
Unit 12 22A >> Unit 12(HouseNmbrExtension),22A(HouseNumber)
正则表达式模式:
(Level ?.*|Suite [0-9]+?[-]?[0-9]??.*|Unit [0-9]+?[-]?[0-9]?|Tower ?.*|.* Floor?.*|FL ?.*|.*?)
\s
(^[0-9]+[\s]?[A-Za-z]{0,1}[-]?[\/]?[0-9]?[\s]?[A-Za-z]{0,1}[-]?[\/]?[0-9]?[\s]?[A-Za-z]{0,1}[,]?)
但是,结果并没有达到预期。
如何正确解析模式?