正则表达式,用于解析所需格式的地址

时间:2019-04-23 19:16:53

标签: regex

我正在使用正则表达式解析地址字段。如何包含某些模式?

案例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}[,]?)

但是,结果并没有达到预期。

如何正确解析模式?

0 个答案:

没有答案