我有这样的网址:

“ / parameterOne / parameterTwo / parameterThree / parameterFour / ParameterFive”

我想首先找到子字符串“ paramaterOne”,然后在斜杠之间的这个子字符串“ paramterTwo”之后立即找到单词。

这是我到目前为止编写的RegEx:

\parameterOne\b\/[^/]*[^/]*\/


它同时返回“ parameterOne”和“ parameterTwo”。我该如何修改它以仅返回'parameterTwo'或有更好的JavaScript解决方案?

我不想按索引查找此参数,重要的是必须先找到parameterOne,然后立即找到parameterTwo。

最佳答案

\/parameterOne\b\/([^/]*[^/]*)\/


您可以尝试尝试获取group 1的值或捕获1。请参见演示。

https://regex101.com/r/sJ9gM7/99

var re = /\/parameterOne\b\/([^\/]*[^\/]*)\//gm;
var str = '/parameterOne/parameterTwo/parameterThree/parameterFour/ParameterFive';
var m;

if ((m = re.exec(str)) !== null) {
if (m.index === re.lastIndex) {
re.lastIndex++;
}
// View your result using the m-variable.
// eg m[0] etc.
}

or

var myString = "/parameterOne/parameterTwo/parameterThree/parameterFour/ParameterFive";
var myRegexp = /\/parameterOne\b\/([^\/]*[^\/]*)\//gm;
var match = myRegexp.exec(myString);
alert(match[1]);

09-16 16:50