Regex 我可以使用正则表达式返回基于特定匹配的值吗?

Regex 我可以使用正则表达式返回基于特定匹配的值吗?,regex,Regex,如果我有一个与给定公司/实体的特定城市相关的地址列表,我是否可以使用regex将该地址返回给我,而不是使用代码(db query)?例如,如果我有: Manhattan|600 Broadway, 10023| San Francisco|100 Taylor Street, 94133| 我可以有一些带有名称组的正则表达式,它返回的地址是 (?<LOCATION_CITY>Manhattan)(?<LOCATION_BUILDING>600 Broadway)?|(?

如果我有一个与给定公司/实体的特定城市相关的地址列表,我是否可以使用regex将该地址返回给我,而不是使用代码(db query)?例如,如果我有:

Manhattan|600 Broadway, 10023|
San Francisco|100 Taylor Street, 94133|
我可以有一些带有名称组的正则表达式,它返回的地址是

(?<LOCATION_CITY>Manhattan)(?<LOCATION_BUILDING>600 Broadway)?|(?<LOCATION_CITY2>San Francisco)(?<LOCATION_BUILDING2>100 Taylor)?
(?曼哈顿)(?百老汇600?)(?旧金山)(?泰勒100)?
我知道这不是正确的正则表达式,但作为一个起点,我想知道是否可以在扫描的文本块中使用一个匹配的名称组来返回一个不在文本块中的已知值。我期待的结果是:

  • 地点:曼哈顿
  • 地点:百老汇600号

  • 地点:旧金山
  • 地点:泰勒街100号
其中,Location City因在文本中找到而返回,Location\u ADDRESS因找到关联的城市而返回。

如何:

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

这是一个DB查询。在这种情况下,是什么软件(MySQL、PostgreSQL等)?您的位置城市和位置建筑是成对的,用
|
隔开的吗?示例:
LOCATION_CITY1 | LOCATION_BUILDING1 | LOCATION_CITY2 | LOCATION_BUILDING2 |
@Sam它是MySql,但我希望能够在不向站点添加代码的情况下修改/添加正则表达式。regex已设置为由站点调用并返回抓取的值(LOCATION_CITY)但是希望在正则表达式中获得返回的地址。@heroandtn3我可以对城市和地址进行配对/排列,这是有意义的。我不确定再次切割城市是否是在文本块中查找的已知值,根据找到的城市,只需推送地址即可。我试图避免找到一个城市,然后查询数据库。