使用Regex获取括号内的数字

时间:2012-08-25 14:34:57

标签: javascript regex

我的DOM主体中有一些不同格式的文本,如

(min-width: 400px)
(max-width : 500px)
(min-width :600px)
( max-width:700px )

我想只检测来自这些格式的数字&将它们返回到数组

我试过

document.write($('body').text().match(/ *\([^)\d+]*\) */g, ""));

但它返回null。我做错了什么?

这是小提琴:http://jsfiddle.net/gQHT2/1/

1 个答案:

答案 0 :(得分:0)

您可以使用以下正则表达式:

/\(\D*(\d+)px\s*\)/g

这将匹配(,任何非数字垃圾,附加px的数字本身,任何空格和尾随)。该数字已分组(附有()),因此如果您使用regexp.exec http://jsfiddle.net/gQHT2/9/,则可以单独获得结果。

$("body").html(function(i, html) {
    var regexp = /\(\D*(\d+)px\s*\)/g;
    var items = "";
    var current;
    while(current = regexp.exec(html)) {
        items += current[1] + "<br>";  // [0] is match, [1] is first group
    }
    return items;
});