在Jeff Roberson's jQuery Regular Expressions Review中,他建議將jQuery's ajax.js中的rts正則表達從/(\?|&)_=.*?(&|$)/
更改爲/([?&])_=[^&\r\n]*(&?)/
。在這兩個版本中,第二個捕獲組的目的是什麼?該代碼做一個新的隨機時間戳替換當前隨機時間戳:有人能告訴我第二個捕獲組在jQuery rts正則表達式中的用途嗎?
var ts = jQuery.now();
// try replacing _= if it is there
var ret = s.url.replace(rts, "$1_=" + ts + "$2");
難道不是隻替換它匹配呢?我認爲這是一樣的:
var ret = s.url.replace(/([?&])_=[^&\r\n]*/, "$1_=" + ts);
有人可以解釋第二捕獲組的目的是什麼?