ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

регулярка
  #1  
Старый 30.09.2009, 13:23
Аватар для rubik-nerubik
rubik-nerubik
Участник форума
Регистрация: 04.05.2007
Сообщений: 267
Провел на форуме:
409147

Репутация: 33
По умолчанию регулярка

Кто шарит?)
ваще столько раз сталкивался и не могу разобраться никак)))
есть у кого норм по ней инфа
так к чему я клоню

нужна регулярка, которая выводит по маске, типа есть файл:

1122212121
1212313131
nach192.168.1.1konec
48348348
dffsdfsdfsdfdsf
.ewr.we.r.wer...
nach192.168.1.5konec
werewr34324324
234234


надо бы вывести:
192.168.1.1
192.168.1.5


выручайте)
 
Ответить с цитированием

  #2  
Старый 30.09.2009, 13:41
Аватар для demond
demond
Участник форума
Регистрация: 05.11.2008
Сообщений: 105
Провел на форуме:
292722

Репутация: 71
По умолчанию

Цитата:
Сообщение от rubik-nerubik  
Кто шарит?)
ваще столько раз сталкивался и не могу разобраться никак)))
есть у кого норм по ней инфа
так к чему я клоню

нужна регулярка, которая выводит по маске, типа есть файл:

1122212121
1212313131
nach192.168.1.1konec
48348348
dffsdfsdfsdfdsf
.ewr.we.r.wer...
nach192.168.1.5konec
werewr34324324
234234


надо бы вывести:
192.168.1.1
192.168.1.5


выручайте)
Код:
#!/usr/bin/perl
$\ = $/;
open(F, "test.txt") or die"$!";;
while(<F>)
 { 
print $1 if(/.*?(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}).*/); 
}
 close F;
 
Ответить с цитированием

  #3  
Старый 30.09.2009, 13:45
Аватар для rubik-nerubik
rubik-nerubik
Участник форума
Регистрация: 04.05.2007
Сообщений: 267
Провел на форуме:
409147

Репутация: 33
По умолчанию

еммм) не уточнил) я про php имел ввиду
 
Ответить с цитированием

  #4  
Старый 30.09.2009, 13:50
Аватар для Gray_Wolf
Gray_Wolf
Постоянный
Регистрация: 07.03.2009
Сообщений: 357
Провел на форуме:
1284900

Репутация: 399
По умолчанию

Регулярка по сути таже...
Код:
/(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})/
тут можеш потестить http://gskinner.com/RegExr/

Последний раз редактировалось Gray_Wolf; 30.09.2009 в 13:53..
 
Ответить с цитированием

  #5  
Старый 30.09.2009, 14:09
Аватар для rubik-nerubik
rubik-nerubik
Участник форума
Регистрация: 04.05.2007
Сообщений: 267
Провел на форуме:
409147

Репутация: 33
По умолчанию

Код:
if (preg_match ("/(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})/",$fio,$fio1)) {
    print "$fio1[0]";
} else {
    print "A match was not found.";
}
вот что вышло, как сделать чтобы все находил?
а то показ тока первый
 
Ответить с цитированием

  #6  
Старый 30.09.2009, 14:17
Аватар для rubik-nerubik
rubik-nerubik
Участник форума
Регистрация: 04.05.2007
Сообщений: 267
Провел на форуме:
409147

Репутация: 33
По умолчанию

http://gskinner.com/RegExr/ как тут вытащить то что я набросал?)
 
Ответить с цитированием

  #7  
Старый 30.09.2009, 14:22
Аватар для rubik-nerubik
rubik-nerubik
Участник форума
Регистрация: 04.05.2007
Сообщений: 267
Провел на форуме:
409147

Репутация: 33
По умолчанию

ааа берёмсч preg_match_all
 
Ответить с цитированием

  #8  
Старый 30.09.2009, 14:32
Аватар для krypt3r
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

Можно укоротить регулярку до вида
Код:
/((\d{1,3}\.){3}\d{1,3})/
Более продвинутая регулярка - http://www.pcre.ru/examples/links/text/31/
 
Ответить с цитированием

  #9  
Старый 30.09.2009, 18:07
Аватар для rubik-nerubik
rubik-nerubik
Участник форума
Регистрация: 04.05.2007
Сообщений: 267
Провел на форуме:
409147

Репутация: 33
По умолчанию

емана одни косяки, как сделать чтобы он проверял во всем тексте и выводил всё! а не один первый встречившийся.
 
Ответить с цитированием

  #10  
Старый 30.09.2009, 18:13
Аватар для .::BARS::.
.::BARS::.
Постоянный
Регистрация: 13.10.2007
Сообщений: 347
Провел на форуме:
1345617

Репутация: 115
По умолчанию

PHP код:
if (preg_match ("/(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})/",$fio,$fio1)) {
for (
$i=0$i<=кол-во_строк$i++) {
    print 
"$fio1[$i]";
}
} else {
    print 
"A match was not found.";

 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Регулярка тупит. Пхп. Krist_ALL PHP, PERL, MySQL, JavaScript 2 31.07.2009 16:14
Регулярка Trieg PHP, PERL, MySQL, JavaScript 5 04.05.2009 12:39
регулярка попугай PHP, PERL, MySQL, JavaScript 9 17.01.2009 16:37



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ