正则表达式提取两个斜线之间的字符串和其中的指定字符串
Regex to extract string between two slashes and a specified string in it
我有这样的字符串 /test/xychcm_prd/test/ss 或 /test/xychcmss_trn/test/ss。我想从中提取字符串 xychcm_prd 或 xychcmss_trn 。这里 _prd 或 _tst 是预定义的。该字符串始终位于斜杠之间。如何使用正则表达式获取此字符串?
您可以使用此正则表达式找到您的字符串:
[^\/]*(?:_prd|_trn)
[^/]*
将获取 _trn 或 _prd 之前的每个字符,斜杠除外,并在该字符处停止。
(_prd|_trn)
将使正则表达式在您想要的字符串末尾搜索 _trn 或 _prd 。
?:
将从 (_prd|_trn)
中创建一个 non-capturing 组,因为您不需要它。
我有这样的字符串 /test/xychcm_prd/test/ss 或 /test/xychcmss_trn/test/ss。我想从中提取字符串 xychcm_prd 或 xychcmss_trn 。这里 _prd 或 _tst 是预定义的。该字符串始终位于斜杠之间。如何使用正则表达式获取此字符串?
您可以使用此正则表达式找到您的字符串:
[^\/]*(?:_prd|_trn)
[^/]*
将获取 _trn 或 _prd 之前的每个字符,斜杠除外,并在该字符处停止。
(_prd|_trn)
将使正则表达式在您想要的字符串末尾搜索 _trn 或 _prd 。
?:
将从 (_prd|_trn)
中创建一个 non-capturing 组,因为您不需要它。