如果我有以下代码:
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] 返回**
or _
,我认为这不是 C# 中的正则表达式的工作方式,但这是可以实现的吗?如果可以,如何实现?)