这让我感到非常困惑。为什么在下面的代码中会出现重复的替换字符串:
我了解正则表达式会在匹配结束行符时出现问题,但实际上没有这些行符。我也知道该模式可以匹配空内容,但显然输入不是空的。这种情况发生在 .Net 3.5 和 4.0 中,并且我使用 SingleLine 和 MultiLine 也得到了相同的结果。
我知道有几种替代方法可以实现我的期望,但更想知道其他所有的 .* 匹配到了什么。
这让我感到非常困惑。为什么在下面的代码中会出现重复的替换字符串:
static void Main(string[] args)
{
String input = "test";
String pattern = ".*";
String replacement = "replace";
Console.WriteLine(Regex.Replace(input, pattern, replacement));
Console.Read();
}
这将输出到控制台:
replacereplace
我了解正则表达式会在匹配结束行符时出现问题,但实际上没有这些行符。我也知道该模式可以匹配空内容,但显然输入不是空的。这种情况发生在 .Net 3.5 和 4.0 中,并且我使用 SingleLine 和 MultiLine 也得到了相同的结果。
我知道有几种替代方法可以实现我的期望,但更想知道其他所有的 .* 匹配到了什么。