我可以使用Regex根据特定匹配返回值吗?

时间:2014-06-02 17:19:28

标签: 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)?

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

  • LOCATION_CITY:曼哈顿
  • LOCATION_BUILDING:600 Broadway

  • LOCATION_CITY:旧金山
  • LOCATION_BUILDING:100 Taylor Street

返回位置城市的位置,因为它在文本中找到,并且因为找到了关联的城市而返回了LOCATION_ADDRESS。

1 个答案:

答案 0 :(得分:0)

怎么样:

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