我有这些可能的字符串:
&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/
,但这也无效。
答案 0 :(得分:3)
您必须嵌套在?
量词中。这是一个可选的匹配。你想让你的.*
懒惰:
/static_keywords=(.*?)(&|$)\b/