在回答这个问题时,C#Regex Replace和*提出了问题存在的原因.在播放时我制作了以下代码:
string s = Regex.Replace(".A.", "\w*", "B");
Console.Write(s);
Run Code Online (Sandbox Code Playgroud)
这有输出: B.BB.B
我得到0长度字符串在.字符之前和之后匹配,但为什么A被2个B替换.
我可以理解B.BBB.B为替换任意一侧的零长度字符串A或B.B.B
但实际结果让我感到困惑 - 任何帮助表示赞赏.
或者正如AakashM所说:
为什么Regex.Matches("A", "\w*").Count等于2,不是1或3?