C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 120 を表示中)
■70280 / )  Re[1]: カッコ内の数値を正規表現で取得できません。
□投稿者/ shu (502回)-(2014/03/07(Fri) 00:30:22)
2014/03/07(Fri) 00:30:39 編集(投稿者)
No70278 (mina さん) に返信


(と)は正規表現内では1つのまとまりを囲うのに使用するのでそのものの文字として
マッチングする場合、\を付加する必要があります。
\を付加する文字列を書く場合、@を頭に付けると書きやすいです。
括弧内の文字が数値でないとint.Parse出来ないので\d+により数値とマッチングさせる
必要があります。



正規表現 + LINQの例

            string[] csv = new string[4] { "ばなな", "ばなな(12)", "ばなな(5)", "ばなな(200)" };

            Regex re = new Regex(@"\((?<num>\d+)\)");

            int mx = (from dat in csv
                      let m = re.Match(dat)
                      where m.Success
                      select int.Parse(m.Groups["num"].Value)
                      ).Max();


返信 編集キー/


管理者用

- Child Tree -