[linux] reg exp a cislo

Samuel Behan konfera na frida.fri.utc.sk
Čtvrtek Září 28 13:37:17 CEST 2000


> Zdravim. 
> 
> 	Vcera som po dlhej dobe robil s perlom a narazil som na velky :) problem.
> Parsoval som riadok ktory vyzeral takto:
> 					3245865;komentar haha
> a potreboval som ziskat to cislo. Moj prvy hlupy napad bol takyto:
> if ($line =~ /\s(\d+)[\s\;]/) { print $1;}
> lenze to mi vzdy vratilo len prvu cifru 3. Potom mi napadlo taketo nieco:
> if ($line =~ /\s(\d\d*\d)[\s\;]/) {print $1;} a slava, vystup bol spravny, teda
> 3245865. Lenze ma to jeden hacik, to cislo musi byt minimalne dvojciferne pri
> takomto porovnani a to mi vadi. Ak poznate INTELIGENTNEJSI sposob, ako ziskat
> to cislo cez reg. vyrazy, budem vam vdacny. Ide to asi aj cez split a mozno
> este aj inym sposobom (tiez ma zaujimaju), ale najviac ma zaujimaju reg.
> vyrazy.

Teda ak za ; (bodkociarkov) je vzdy komentar tak by som urobil asi toto:

  $line =~ s/;.*//;

..ak si myslel ino smola....

                                                  Sam




Další informace o konferenci linux