In [Jeff Roberson's jQuery Regular Expressions Review](http://jmrware.com/articles/2010/jqueryregex/jQueryRegexes.html) he proposes changing the rts regular expression in [jQuery's ajax.js](http://github.com/jquery/jquery/blob/master/src/ajax.js) from `/(\?|&)_=.*?(&|$)/` to `/([?&])_=[^&\r\n]*(&?)/`. In both versions, what is the purpose of the second capture group? The code does a replacement of the current random timestamp with a new random timestamp: 

```
var ts = jQuery.now();
// try replacing _= if it is there
var ret = s.url.replace(rts, "$1_=" + ts + "$2");

```

Doesn't it only replace what it matches? I am thinking this does the same:

```
var ret = s.url.replace(/([?&])_=[^&\r\n]*/, "$1_=" + ts);

```

Can someone explain the purpose of the second capture group?