JavaScript replace メソッドの正規表現 ()部分の参照

正規表現の()でくくった部分を $1 で参照できる

例えば Teeda で生成された Items 内の要素を jQuery で clone する場合は以下のようにして追加すればOK

<input id="hoge" class="hoge" name="hoge:hogeItems:1:fuga"/>
var base = $('input.hoge');
var name = base.attr('name');
base.clone().attr(
   'name',
   name.replace(/(Items:)(\d+)/,'$12') // hoge:hogeItems:2:fuga //$2とした場合は 1 がとれる
);

正規表現の()でくくった部分を 関数内で参照する

関数にパラメータとして渡される

var base = $('input.hoge:last');
var name = base.attr('name');
base.clone().attr(
   'name',
    name.replace(/(Items:)(\d+)/,function(str,p1,p2){//strは一致部分全体、p1/p2は()部分
        return p1 + (p2-0+1); //Items:2  
    }); //hoge:hogeItems:2:fuga
);