Perl: туплю с регэкспом
Добавлено: 2011-06-29 22:05:59
Привет всем!
Вроде бы простой регэксп... но результат расходится с моими ожиданиями.
Первый вариант (работает как и ожидается):
Здесь совпадет первая альтернатива в позиции строки до "e" , то бишь, в $1 - qw. До второй дело не доходит.
А здесь затык (t меняю на e):
Я ожидаю, что совпадет первая альтернатива в позиции строки до "e", как и в первом случае.
Но совпадает вся строка - в $1 имеем qwerty.
Может я затупил конкретно или не понимаю сути... в общем, не могу разобраться в поведении этого выражения.
Разъясните, что к чему, если не сложно...
Вроде бы простой регэксп... но результат расходится с моими ожиданиями.
Первый вариант (работает как и ожидается):
Код: Выделить всё
#!/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.
Может я затупил конкретно или не понимаю сути... в общем, не могу разобраться в поведении этого выражения.
Разъясните, что к чему, если не сложно...