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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : John Lepikhin                        2:5070/156     21 Sep 2002  10:36:10
 To : Vadim Nikiforov
 Subject : Re: Регуляpные выpажения - как?
 -------------------------------------------------------------------------------- 
 
 Мир Миру твоему, Вадим.
 
 !> On 19 Sep 02 20:11:27 +0900, Вадим -> All:
 
  VN> у меня никак не получается вычленить из стpоки текста некий кусок
  VN> (в данный момент это IP-адpес). Отловить стpоки, в котоpых он
  VN> есть мне удалось пpи помощи кода:
 
  VN> $cnt = ($string=~/(\d+\.){4}/);
 
         Под регэксп /(\d+\.){4}/ попадают такие строки:
 
 192.168.1.1.
 100.100.100.100.
 и все другие ip-подобные, где в конце есть точка.
 
         Я предлагаю такое решение:
 
 $str = 'bla-bla-bla 192.168.1.1 bla-bla-bla';
 # выделить в массив:
 @ip = $str =~ /(\d+)\.(\d+)\.(\d+)\.(\d+)/;
 # выделить в скаляр:
 ($ip) = $str =~ /(\d+\.\d+\.\d+\.\d+)/;
 
         Если же известно, в какой точке строки начинается запись об
 ip-адресе, достаточно такого решения:
 
 $str = 'bla-bla-bla 192.168.1.1 bla-bla-bla';
 #       ^^^^^^^^^^^^ 12 символов
 # выделяем в скаляр:
 ($ip) = $str =~ /^.{12}([\d.]+)/;
 # делим скаляр на отдельные числа и заносим в массив:
 @ip = split '.' $ip;
 p.s. хотелось бы поточнее услышать задачу. Быть может, будет
 универсальное решение одним регэкспом для вытаскивания всей
 необходимой информации.
 
 -- 
 ... [болотный сисоп] {{злостный атеист и антикузнецовец}}
 --- Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.1 (Cuyahoga Valley)
  * Origin: A poorly-installed InterNetNews site (2:5070/156.0)
 
 

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

 Тема:    Автор:    Дата:  
 Регуляpные выpажения - как?   Vadim Nikiforov   19 Sep 2002 20:11:27 
 Re: Регуляpные выpажения - как?   Yuri Mashkovtsev   20 Sep 2002 19:19:07 
 Re: Регуляpные выpажения - как?   Vadim Nikiforov   21 Sep 2002 22:48:25 
 Re: Регуляpные выpажения - как?   John Lepikhin   21 Sep 2002 10:36:10 
 Re: Регуляpные выpажения - как?   Vadim Nikiforov   21 Sep 2002 22:56:32 
 Re: Регуляpные выpажения - как?   Yuri Mashkovtsev   22 Sep 2002 11:38:53 
 Re: Регуляpные выpажения - как?   Vadim Nikiforov   23 Sep 2002 05:25:55 
 Re: Регуляpные выpажения - как?   Yuri Mashkovtsev   27 Sep 2002 18:19:32 
Архивное /ru.perl/3652928dff415.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional