ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|
Требуется помощь (Регулярные выражения) |

11.02.2008, 18:37
|
|
Участник форума
Регистрация: 07.01.2008
Сообщений: 109
Провел на форуме: 214923
Репутация:
17
|
|
Требуется помощь (Регулярные выражения)
Здравствуйте! Т.К в регулярных выражения я не очень, то прошу вашей помощи.
Есть вот такая строка:
1042355456 1042355711 Ru Вологда Вологодская область Северо-Западный
цифры - дапазон Ip
потом Id страны
потом город (Вологда)
далее область
и последнее регион
Мне необходимо заключить все эти данные в кавычки и разделить запятой.
Кто поможет/напишет?
Спасибо!
P.S. таких сторок просто 66 000
|
|
|

11.02.2008, 18:44
|
|
Banned
Регистрация: 06.06.2006
Сообщений: 944
Провел на форуме: 3986705
Репутация:
1403
|
|
Приведи штук пять строк для проверки
|
|
|

11.02.2008, 18:51
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме: 18127311
Репутация:
1676
|
|
А нафига регулярку писать?
Замени пробелы на В начало строки " и замени на "
|
|
|

11.02.2008, 18:55
|
|
Banned
Регистрация: 06.06.2006
Сообщений: 944
Провел на форуме: 3986705
Репутация:
1403
|
|
Вологодская область
Тут пробел =\
|
|
|

11.02.2008, 18:56
|
|
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме: 16641028
Репутация:
2371
|
|
Сообщение от ssb1981
не так не пойдёт.
Сам и делай
|
|
|

11.02.2008, 19:08
|
|
Участник форума
Регистрация: 07.01.2008
Сообщений: 109
Провел на форуме: 214923
Репутация:
17
|
|
Isis это не туда у меня интернет медленный поэтому ответ поздно приходит
строки
1348299520 1348300543 RU Москва Москва Центральный
1348317184 1348321279 RU Санкт-Петербург Санкт-Петербург Северо-Западный
1357710176 1357710207 RU Мурманск Мурманская область Северо-Западный
1357710280 1357710287 RU Москва Москва Центральный
1357710288 1357710295 RU Подольск Московская область Центральный
|
|
|

11.02.2008, 19:35
|
|
Участник форума
Регистрация: 31.08.2006
Сообщений: 149
Провел на форуме: 1763379
Репутация:
155
|
|
может быть нужно из файла каждую стоку обратить в массив
например сделать ей вид:
$a[0] = "1348299520 1348300543 RU Москва Москва Центральный";
$a[1] = "...";
$a[2] = "...";
и так далее....
а потом юзать к каждой строке preg_match_all, а потом выводить на экран, через for естевственно
|
|
|

11.02.2008, 20:13
|
|
Banned
Регистрация: 12.01.2007
Сообщений: 113
Провел на форуме: 4094601
Репутация:
495
|
|
Сообщение от SSB1981
Здравствуйте! Т.К в регулярных выражения я не очень, то прошу вашей помощи.
Код:
#!perl -w
use strict;
my $f = shift||exit print "\x09usage $0 <file>";
open my $FILE,$f or die $!;
foreach my $text (<$FILE>)
{
printcyr("'$1','$2','$3','$4','$5','$6'\n") if $text=~/(\d+) (\d+) ([A-Z]{2}) (.+?) (.+) (.+)/;
}
close $FILE;
sub printcyr
{
my $text = shift;
$text =~ y/А-яЁё/\x80-\xaf\xe0-\xf1/;
print $text;
}
Код:
C:\>p.pl id.txt
'1348299520','1348300543','RU','Москва','Москва','Центральный'
'1348317184','1348321279','RU','Санкт-Петербург','Санкт-Петербург','Северо-Западный'
'1357710176','1357710207','RU','Мурманск','Мурманская область','Северо-Западный'
'1357710280','1357710287','RU','Москва','Москва','Центральный'
'1357710288','1357710295','RU','Подольск','Московская область','Центральный'
|
|
|

11.02.2008, 20:23
|
|
Постоянный
Регистрация: 11.03.2007
Сообщений: 581
Провел на форуме: 4172659
Репутация:
646
|
|
Проблема только в правильном отделении города, области и региона. Область может состоять из нескольких слов, если города и регионы тоже, то придется сделать справочники областей и регионов, думаю их не очень много
|
|
|

12.02.2008, 03:14
|
|
Новичок
Регистрация: 30.11.2007
Сообщений: 18
Провел на форуме: 326882
Репутация:
22
|
|
Пользуйся экселем как разделитель выбери пробел и подставляй куда надо столбики с запятыми или кавычками, что там надо то и вставляй.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|