|
|
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)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/208523ac14d50.html, оценка из 5, голосов 10
|