正则表达式:我想分开的地址,包括一些例外



我尝试应用的规则:

第1组必须始终包含文本,如果字符串以&quot开头,则"然后也包括它。

组2是可选的,可以是(街道或道路)。

组3是可选的,可以包含(东或西)。

我已经掌握了以下内容的大部分(我认为):

(.+?)bs?((?i)ROAD|STREET)*.?((?<= +)(?i)WEST|EAST)?$

,但有两个例外:"street"是分开的,但需要都在第1组,因为它以"the"开头。"STREET"在组2,但需要在组1组1总是需要一个值

<表类>文本与位置长度组1组2集团3tbody><<tr>史密斯史密斯05道明>街上街上511街街道街167街街道西街道西2316街西史密斯街史密斯街3913道明>街路史密斯史密斯路5211道明>道路史密斯strreet东史密斯strreet东6319史密斯strreet东史密斯史密斯826道明>史密斯街史密斯街8813道明>街史密斯街史密斯街10114道明>街史密斯街西abc史密斯街西abc11522史密斯街西abc史密斯街东史密斯街东13718道明>街东史密斯SttReet东史密斯SttReet东15519史密斯SttReet东史密斯街西史密斯街西17418道明>街西
((.+?)bs?((?i)ROAD|STREET)*).?((?<=)(?i)WEST|EAST)?$

我做了两个改动:

  1. 我删除了空白和加号+。它修复了空白组1
  2. 我将thestreet分组。如果两者都存在,则出现在第1组

相关内容

最新更新