我有一个包含大量文本字符串的页面,类似于:
[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);
我有一个包含大量文本字符串的页面,类似于:
[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);
正确的方法:
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
});