正则表达式:在字符或字符和行尾之间获取字符串

Regex: Get string in between characters or character and end of line

本文关键字:字符 之间 获取 字符串 正则表达式      更新时间:2023-09-26

我有这些可能的字符串:

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

我正在尝试提取 makeId 的数组或更简单的 makeId 字符串(在本例中为"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/