グループ番号ではなく名前付きグループを参照する場合は${name}
とします。 先の例を名前付きグループを使ったものに書き換えると次のようになります。
名前付きグループの置換文字列を使ってmm/dd/yyyy形式の日付をyyyy-mm-dd形式に置換する
using System;
using System.Text.RegularExpressions;
class Sample {
static void Main()
{
var text = "02/29/2016 00:00:00";
Console.WriteLine(text);
// mm/dd/yyyy形式の日付 (月日年の正規表現をそれぞれグループ名m, d, yでグループ化)
var pattern = @"(?<m>\d{2})/(?<d>\d{2})/(?<y>\d{4})";
// mm/dd/yyyy形式の日付をyyyy-mm-ddの形式に置換して表示
Console.WriteLine(Regex.Replace(text, pattern, @"${y}-${m}-${d}"));
}
}
実行結果
02/29/2016 00:00:00 2016-02-29 00:00:00
$n
や${name}
の他にも置換文字列にはいくつか種類があります。 詳しくは.NET Frameworkで使用できる正規表現 §.置換を参照してください。