.NET の正規表現

Regex re = new Regex(@"([0-9,]+) \(((\d\d):(\d\d))|((\d\d)/(\d\d))\)");
Match m = re.Match("53,900 (23/42)");

とすると m.Groups[1].Success == false になる。すなわち "53,900" の部分がマッチしない。なぜ?
もうこれで1時間ほど悩んでいる。unibon がなんか勘違いしているはずなのだろうけど、なにが間違っているんだ?


...一晩寝たら間違いに気づいた。OR 演算子の使い方が正しくない。

Regex re = new Regex(@"([0-9,]+) \((((\d\d):(\d\d))|((\d\d)/(\d\d)))\)");

のようにしないといけない。
"\(" と "\)" がただの文字なのに正規表現の括弧かと勘違いしていた。