我有一些足球目标信息如下所示:
(5',78',80')(90' + 2')
我想使用javascript来匹配所有数字 not 前面有+
符号(本例中为2)。我不知道如何做到这一点,没有负面的看法。
我试过这个:
"(5', 78', 80')(90'+2')".match(/[^+]\d+'/g)
但我在返回的匹配中得到括号,空格和'
:
["(5'", " 78'", " 80'", "(90'"]
我正在寻找像这样的结果。请注意,它中没有数字2
,因为2前面有+
["5", "78", "80", "90"]
任何指针都表示赞赏。
答案 0 :(得分:4)
您可以将捕获的组用于结果中所需的值:
var regexp = /(?:\+\d+|(\d+))'/g;
var str = "(5', 78', 80')(90'+2')";
var m;
var result = [];
while ((m = regexp.exec(str))) {
if (m[1] !== undefined)
result.push(m[1]);
}
console.log(result);
//=> ["5", "78", "80", "90"]
答案 1 :(得分:0)