-1

我的 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/

4

1 回答 1

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;
});
于 2012-08-25T14:50:16.740 回答