[C#] 正規表現で角括弧 [ ] の中身を取得

角括弧 [] は .Net Framework ではメタ文字として扱われるため、それ自体を対象にしたい場合はバックスラッシュ(\)でエスケープをしなければならない。

.NET Frameworkがサポートする正規表現クラスを徹底活用する ― (3/4) - @IT
http://www.atmarkit.co.jp/ait/articles/0304/12/news002_3.html

確実に角括弧の中に含まれている文字列を取得したい場合は以下のようにする。
var input = "テスト[[[あいうえお[Code=9999]テストテスト[Code=]]]";
var regex = new Regex(@"\[Code=(?.*?)\]");            
var match = regex.Match(input);
var result = match.Groups["value"].Value;
Console.WriteLine(result);

// Regex の定義が重要。クエッションマークの有無で結果がかなり異なってくる。

// @"\[Code=(?.*?)\]"
// 結果 : 9999

// @"\[Code=(?.*)\]"
// 結果 : 9999]テストテスト[Code=]]

このブログの人気の投稿

Excel で入力した文字に勝手に取り消し線が入る

コピーした行の挿入が表示されない時はフィルタされていないかチェック