1

我有一个包含大量文本字符串的页面,类似于:

[1 item here]
Blah blah 99 bottles of beer
[2 items here]
blah [9 items here]

我正在寻找一种将总数(12)作为简单警报的方法:

the_magic_number= 'me no habla regex'
alert (the_magic_number);
4

1 回答 1

3

正确的方法:

var re = /\[(\d+) items? here\]/g,
    sum = 0,
    arr;
while ((arr = re.exec(str)) !== null) {
    sum += parseInt(arr[1]);
}

这里滥用replace功能:

var sum = 0;
str.replace(/\[(\d+) items? here\]/g, function ($0, $1) {
    sum += parseInt($1);
    return ''; // Can return anything, since we don't care about the replace
});
于 2013-04-30T04:19:18.653 回答