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 ?

Ответы на вопрос(4)

Ваш ответ на вопрос