Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 регулярные выражения   Serg Chervjakov   11 Jul 2005 23:28:25 
 Re: регулярные выражения   yurik shestakov   11 Jul 2005 23:49:15 
 Re: регулярные выражения   Artem Chuprina   12 Jul 2005 08:39:32 
Архивное /ru.perl/1667959913c04.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional