Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Не могу сообразить  (Прочитано 5608 раз)
0 Пользователей и 1 Гость смотрят эту тему.
perl6
Постоялец

ru
Offline Offline

« : 25-01-2011 22:52 » 

Подскажите пожалуйста, есть строки
  • 109.124.114.0 - 109.124.114.255
    109.124.115.0 - 109.124.115.255
    109.124.116.96 - 109.124.116.111

в которых требуется заменить число от одного символа до двух на число 100, никак не могу регулярку составить, подскажите, пожалуйста... Пробовал так вот
Код: (Perl)
 $test =~ s/\d{1,2}/100/g
, но не катит что то Жаль
« Последнее редактирование: 25-01-2011 22:57 от McZim » Записан
McZim
Модератор

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #1 : 26-01-2011 06:45 » 

Код: (Perl)
#!/usr/bin/perl

use strict;
use warnings;

my $str = "101.1.124.0";

$str =~ s/(\b\d{1,2}\b)/100/g;

print "$str\n";
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
perl6
Постоялец

ru
Offline Offline

« Ответ #2 : 27-01-2011 20:12 » 

Спасибо, некогда было зайти сюда, сделал вот как сам, вроде работает Да-да
Код: (Perl)
#!/usr/bin/perl -W

my $test = <<"EOF";
109.105.128.0 - 109.105.159.255
109.105.128.0 - 109.105.143.255
109.105.144.0 - 109.105.145.255
109.105.160.0 - 109.105.191.255
109.105.164.0 - 109.105.167.255
109.106.128.0 - 109.106.159.255
109.106.128.0 - 109.106.135.255
109.106.136.0 - 109.106.159.255
109.106.192.0 - 109.106.223.255
109.106.192.0 - 109.106.199.255
109.106.200.0 - 109.106.203.255
109.106.204.0 - 109.106.205.255
109.106.206.0 - 109.106.206.127
EOF


open (F, ">> block_3.txt");

          $test =~ s/\.\d{1,2} -/.100 -/g;

  print(F "$test\n");

close (F);
« Последнее редактирование: 27-01-2011 22:04 от McZim » Записан
McZim
Модератор

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #3 : 27-01-2011 22:07 » 

perl6, нет, к сожалению не работает! Проверь например на вот таком ip: 10.105.128.0

Попробуй мой вариант!
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines