我有这样的网址:
“/ parameterOne / parameterTwo / parameterThree / parameterFour / ParameterFive”
我想首先找到子串'paramaterOne',然后在斜线之间的'paramterTwo'之后立即找到该字。
这是我到目前为止所写的RegEx:
\parameterOne\b\/[^/]*[^/]*\/
它返回'parameterOne'和'parameterTwo'。如何将其修改为仅返回'parameterTwo'或者是否有更好的JavaScript解决方案?
我不想通过索引找到这个参数,重要的是我必须首先找到parameterOne,然后立即找到parameterTwo。
答案 0 :(得分:2)
\/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]);
答案 1 :(得分:0)
您可以使用javascript split
功能。
以下代码可以作为示例:
"/parameterOne/parameterTwo/parameterThree/parameterFour/ParameterFive".split("/")[2]