JavaScriptのString.replace

String.replaceの第2引数にはJavaScript1.3から関数を渡す事が可能。

例)文字列"[1234][567][890]"に対して、"[数値]"の数値にそれぞれ処理を行う。

"[1234][567][890]".replace(/\[[0-9]*?\]/g, function(){
  /**
   arguments[0]に対する処理。
   */
  return ;
});

このString.replaceメソッドによって、正規表現の1回目に引っ掛けた文字列に対してさらに処理を行う事が可能。

便利過ぎる。

参考