我可以使用Regex返回基于特定匹配的值吗?



如果我有一个与给定公司/实体的特定城市相关的地址列表,我可以使用正则表达式将该地址返回给我而不是在代码(db查询)中进行吗?例如,如果我有:

Manhattan|600 Broadway, 10023|
San Francisco|100 Taylor Street, 94133|

我能不能用一些正则表达式来表示namegroups返回地址在

(?<LOCATION_CITY>Manhattan)(?<LOCATION_BUILDING>600 Broadway)?|(?<LOCATION_CITY2>San Francisco)(?<LOCATION_BUILDING2>100 Taylor)?

我知道这不是正确的正则表达式,但作为一个起点,我想知道我是否可以在扫描的文本块中使用一个匹配的名称组来返回不在文本块中的已知值。我要找的结果是:

  • LOCATION_CITY:曼哈顿
  • LOCATION_BUILDING: 600 Broadway

  • LOCATION_CITY: San Francisco
  • LOCATION_BUILDING: 100 Taylor Street

返回Location City,因为它是在文本中找到的;返回LOCATION_ADDRESS,因为找到了关联的城市。

如何:

^(?<LOCATION_CITY>[^|]+)|(?<LOCATION_BUILDING>[^|,]+)

相关内容

最新更新