Regex.Replace без конца и конца строки имеет очень странные эффекты ... Что здесь происходит?
Отвечая на этот вопросC # Regex Заменить и * был поднят вопрос о том, почему проблема существует. Во время игры я произвел следующий код:
string s = Regex.Replace(".A.", "\w*", "B");
Console.Write(s);
Это имеет выход:B.BB.B
Я получаю, что строка длины 0 совпадает до и после.
характер, но почему А заменяется на 2 Bs.
Я мог понятьB.BBB.B
как замена строк нулевой длины по обе стороны отA
или жеB.B.B
Но реальный результат меня смущает - любая помощь приветствуется.
Или, как сказал AakashM:
ПочемуRegex.Matches("A", "\w*").Count
равно2
не1
или же3
?