正则表达式提取两个斜线之间的字符串和其中的指定字符串

Regex to extract string between two slashes and a specified string in it

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

您可以使用此正则表达式找到您的字符串:

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

[^/]* 将获取 _trn_prd 之前的每个字符,斜杠除外,并在该字符处停止。

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

?: 将从 (_prd|_trn) 中创建一个 non-capturing 组,因为您不需要它。

Live exemple