JavaScript正则表达式 - 从单词旁边提取数字

时间:2010-11-16 11:13:06

标签: javascript regex string

自从我触及正则表达式以来已经很久了。这很简单,但我把头发拉过来。

我从DOM "MIN20, MAX40"获得了如下字符串。我希望能够在JavaScript中使用正则表达式来提取MIN旁边的整数和MAX旁边的整数,并将其放入单独的变量minmax中。我无法想办法。

感谢谁曾帮助过我,你将成为一名救生员!

干杯

5 个答案:

答案 0 :(得分:15)

您可以使用:

var input   = "MIN20, MAX40";
var matches = input.match(/MIN(\d+),\s*MAX(\d+)/);
var min = matches[1];
var max = matches[2];

JSfiddle link

答案 1 :(得分:4)

我认为这样可行:

var matches = "MIN20, MAX40".match(/MIN(\d+), MAX(\d+)/);
var min = matches[1]; 
var max = matches[2];

答案 2 :(得分:2)

以下内容将“MIN”和“MAX”之后的数字提取为名为minsmaxes的整数数组:

var mins = [], maxes = [], result, arr, num;
var str = "MIN20, MAX40, MIN50";

while ( (result = /(MIN|MAX)(\d+)/g.exec(str)) ) {
    arr = (result[1] == "MIN") ? mins : maxes; 
    num = parseInt(result[2]);
    arr.push(num);
}

// mins: [20, 50]
// maxes: [40]

答案 3 :(得分:0)

var str = "MIN20, MAX40";
value = str.replace(/^MIN(\d+),\sMAX(\d+)$/, function(s, min, max) {
    return [min, max]
});

console.log(value); // array

答案 4 :(得分:0)

这应该可以解决问题。

var str='MIN20, MAX40';

min = str.match(/MIN(\d+),/)[1];
max = str.match(/MAX(\d+)$/)[1];