|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Serg Chervjakov 2:5020/400 11 Jul 2005 23:28:25 To : All Subject : регулярные выражения --------------------------------------------------------------------------------
Hi All,
Сорри, туплю.. но не могу понять, почему
my $str="k=1 z=6";
if ($str=~/z=\d*/ig) {
print "1 Ok!\n";
}
if ($str=~/k=\d*/ig) {
print "2 Ok!\n";
}
выводит только 1 Ok,
а
my $str="k=1 z=6";
my $nstr="k=1 z=6";
if($str=~/z=\d*/ig) {
print "1 Ok!\n";
}
if($nstr=~/k=\d*/ig) {
print "2 Ok!\n";
}
выводит оба? Т.е. я так понимаю, некий курсор, который следует по регулярному
выражению в данном случае остается на позиции z=6 и уже не может найти k=1..
Hо тогда по идее не должно находиться и в варианте:
my $str="ab34";
if($str=~/\d/ig) {
print "1 Ok!\n";
}
if($str=~/\w/ig) {
print "2 Ok!\n";
}
т.е. тоже должно бы вывестись только 1 Ок, а выводится оба!
Меня спросили, а я не смог ответить:((.
--- ifmail v.2.15dev5.3
* Origin: FidoNet Online - http://www.fido-online.com (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/1667959913c04.html, оценка из 5, голосов 10
|