我的DOM主体中有一些不同格式的文本,如
(min-width: 400px)
(max-width : 500px)
(min-width :600px)
( max-width:700px )
我想只检测来自这些格式的数字&将它们返回到数组
我试过
document.write($('body').text().match(/ *\([^)\d+]*\) */g, ""));
但它返回null。我做错了什么?
答案 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;
});