次のコードがある場合:
Regex xp = new Regex(@"(\*\*)(.+?)\*\*|(\*)([^\*]+)\*");
string text = @"*hello* **world**";
MatchCollection r_Matches = xp.Matches(text);
foreach (Match m in r_Matches)
{
Console.WriteLine(m.Groups[1].ToString());
Console.WriteLine(m.Groups[3].ToString());
}
// Outputs:
// ''
// '*'
// '**'
// ''
上記の正規表現を実行して、OR の両側からの最初のコレクションの結果を同じ場所に表示するにはどうすればよいですか? (つまり、.Groups[1] は、またはのいずれ**
かを返します。_
これは、C# の正規表現がどのように機能するかではないと思いますが、これは達成可能ですか? もしそうなら、どのように?)