Звезда Клини :почему $ _= «а»; s/a */e/g product :ee

a*означает ноль или более экземпляров :права?

так почему же $_ = "a"; s/a*/e/gпроизводит:ee

Возможный ответ :заменяет строку :"a" на :"e", а также заменяет пустую строку :"" на :"e". Или заменяет простое отсутствие буквы :a буквой :e или заменяет «нулевые вхождения» :a на :e

Хорошо, но:

$_ = "b"; s/a*/e/gпроизводит:ebe

Кажется, он заменяет пустую строку слева от:bи также пустая строка справа от:b

ХОРОШО. Но тогда почему он не делает этого для :" a" ? Почему он не заменяет пустую строку слева от :a? и также пустая строка справа от :a и также сама буква :a, чтобы получить:eee?

Нулевых вхождений :a в левой части столько же, сколько и в правой!

31
задан tchrist 3 August 2013 в 17:39
поделиться