Вроде бы простой регэксп... но результат расходится с моими ожиданиями.
Первый вариант (работает как и ожидается):
Код: Выделить всё
#!/usr/bin/perl
$_ = 'qwerty';
if ($_ =~ / (([^e]|t)*) /x) { print "$1\n" };
А здесь затык (t меняю на e):
Код: Выделить всё
#!/usr/bin/perl
$_ = 'qwerty';
if ($_ =~ / (([^e]|e)*) /x) { print "$1\n" };
Но совпадает вся строка - в $1 имеем qwerty.
Может я затупил конкретно или не понимаю сути... в общем, не могу разобраться в поведении этого выражения.
Разъясните, что к чему, если не сложно...