【问题标题】:Regex to extract string between two slashes and a specified string in it [closed]正则表达式提取两个斜杠之间的字符串和其中的指定字符串[关闭]
【发布时间】:2019-09-28 13:47:52
【问题描述】:

我有这样的字符串 /test/xychcm_prd/test/ss 或 /test/xychcmss_trn/test/ss。我想从中提取字符串 xychcm_prdxychcmss_trn 。这里 _prd 或 _tst 是预定义的。字符串总是在斜线之间。如何使用正则表达式获取此字符串?

【问题讨论】:

  • 这是基本的正则表达式,可以通过快速谷歌搜索来学习。

标签: regex regex-lookarounds regex-group


【解决方案1】:

你可以使用这个正则表达式来找到你的字符串:

[^\/]*(?:_prd|_trn)

[^/]* 将获取 _trn_prd 之前的每个字符(斜线除外)并停止。

(_prd|_trn) 将使正则表达式在您想要的字符串末尾搜索 _trn_prd

?: 将从(_prd|_trn) 创建一个非捕获组,因为您不需要它。

Live exemple

【讨论】:

  • 看起来非捕获组仍在返回。也许[^\/]*(?=_prd|_trn)
  • 非捕获组将返回信息。但不会创建可用的组。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-05-30
  • 1970-01-01
  • 1970-01-01
  • 2014-06-12
  • 2013-06-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多