Strange regexp related javascript problem

HTML

<p>For stackoverflow question <a href="http://stackoverflow.com/q/4178970/445073">Strange regexp related javascript problem</a></p>
<div id="log"></div>

CSS

p {margin: 1ex 0}

JavaScript

var a = /^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})$/,
    b = /^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})$/g;

var log = function(msg) {
    $('#log').append($('<div/>').text(JSON.stringify(msg)));
};

var datestr = '2008-01-12';
log(a.exec(datestr));
log(a.exec(datestr));
log(b.exec(datestr));
log(b.exec(datestr));