我有这些可能的字符串:

&modelIds=340&makeIds=4307,6548&stuffId=340
OR
&modelIds=340&makeIds=4307,6548


我试图提取makeIds的数组或更简单的makeIds字符串(在这种情况下为“ 4307,6548”),稍后我将用逗号将它们分开。

我已经在第一种情况下使用了它,但在第二种情况下却没有使用:

var stringTest = "&modelIds=340&makeIds=4307,6548&stuffId=340"
var matches = stringTest.match(/makeIds=(.*)&\b/)


返回:["makeIds=4307,2342&", "4307,2342"],所以我可以做:

var ids = matches[1];


不幸的是,这不适用于第二个字符串。我已经尝试过/makeIds=(.*)?(&|$)\b/,但这也不起作用。

最佳答案

您必须嵌套在?量词中。这是一个可选的比赛。您的意思是使您的.*懒惰:

/static_keywords=(.*?)(&|$)\b/

10-08 09:28