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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Dmitry Smolin                        2:5020/949     28 Mar 2001  02:20:16
 To : Andrey Nemov
 Subject : RegExp again... ;)
 -------------------------------------------------------------------------------- 
 
  Once, 28 Mar 2001 00:42, Andrey Nemov wrote to All:
 
  AN> Есть строка типа aaa{bbb{ccc{ddd}eee{fff}ggg}hhh}iii{jjj}kkk etc
  AN> а надо выцепить из нее {bbb{ccc{ddd}eee{fff}ggg}hhh}
 
 Тебе упеpлось сделать это именно на pегэкспах? А pади чего, собственно?
 
 Вот, на коленке наpисовал:
 
 === Cut ===
 
 print extract_exp( "aaa{bbb{ccc{ddd}eee{fff}ggg}hhh}iii{jjj}kkk" );
 sub extract_exp
 {
     my( $str, $start, $i, $opnbr, $clsbr );
 
     my @chr = split '', $str = shift( @_ );
 
     for ( $i = $start = index $str, '{'; $i<length( $str ); $i++ )
     {
         $opnbr++ if $chr[$i] eq '{';
         $clsbr++ if $chr[$i] eq '}';
 
         return substr( $str, $start, $i-$start+1 ) if ( $opnbr == $clsbr );
     }
 
     return;
 }
 
 === Cut ===
 
  Take care.
 
 --- OS/2 System Editor snapshot-2001.02.24
  * Origin: While the cats away the rats will surely go down (2:5020/949)
 
 

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

 Тема:    Автор:    Дата:  
 RegExp again... ;)   Andrey Nemov   28 Mar 2001 00:42:32 
 RegExp again... ;)   Dmitry Smolin   28 Mar 2001 02:20:16 
 Re: RegExp again... ;)   Alexander Babanov   27 Mar 2001 17:22:09 
Архивное /ru.perl/208523ac14d50.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional