我有这样的网址:
“ / 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]);