Требуется помощь (Регулярные выражения)

Discussion in 'PHP' started by SSB1981, 11 Feb 2008.

  1. SSB1981

    SSB1981 Elder - Старейшина

    Joined:
    7 Jan 2008
    Messages:
    108
    Likes Received:
    9
    Reputations:
    0
    Здравствуйте!​
    Т.К в регулярных выражения я не очень, то прошу вашей помощи.
    Есть вот такая строка:
    1042355456 1042355711 Ru Вологда Вологодская область Северо-Западный
    цифры - дапазон Ip
    потом Id страны
    потом город (Вологда)
    далее область
    и последнее регион

    Мне необходимо заключить все эти данные в кавычки и разделить запятой.
    Кто поможет/напишет?
    Спасибо!
    P.S. таких сторок просто 66 000
     
  2. bul.666

    bul.666 булка

    Joined:
    6 Jun 2006
    Messages:
    719
    Likes Received:
    425
    Reputations:
    140
    Приведи штук пять строк для проверки
     
  3. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    809
    Reputations:
    231
    А нафига регулярку писать?
    Замени пробелы на
    Code:
     "," 
    В начало строки " и замени
    Code:
    \n
    на "
     
    _________________________
  4. bul.666

    bul.666 булка

    Joined:
    6 Jun 2006
    Messages:
    719
    Likes Received:
    425
    Reputations:
    140
    Вологодская область
    Тут пробел =\
     
  5. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,194
    Reputations:
    252
    Сам и делай
     
  6. SSB1981

    SSB1981 Elder - Старейшина

    Joined:
    7 Jan 2008
    Messages:
    108
    Likes Received:
    9
    Reputations:
    0
    Isis это не туда у меня интернет медленный поэтому ответ поздно приходит
    строки
    1348299520 1348300543 RU Москва Москва Центральный
    1348317184 1348321279 RU Санкт-Петербург Санкт-Петербург Северо-Западный
    1357710176 1357710207 RU Мурманск Мурманская область Северо-Западный
    1357710280 1357710287 RU Москва Москва Центральный
    1357710288 1357710295 RU Подольск Московская область Центральный
     
  7. cylaaaan

    cylaaaan Elder - Старейшина

    Joined:
    31 Aug 2006
    Messages:
    0
    Likes Received:
    44
    Reputations:
    8
    может быть нужно из файла каждую стоку обратить в массив
    например сделать ей вид:

    $a[0] = "1348299520 1348300543 RU Москва Москва Центральный";
    $a[1] = "...";
    $a[2] = "...";

    и так далее....

    а потом юзать к каждой строке preg_match_all, а потом выводить на экран, через for естевственно
     
  8. demonoid

    demonoid Banned

    Joined:
    12 Jan 2007
    Messages:
    101
    Likes Received:
    111
    Reputations:
    27
    Code:
    #!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;
    }
    Code:
    C:\>p.pl  id.txt
    '1348299520','1348300543','RU','Москва','Москва','Центральный'
    '1348317184','1348321279','RU','Санкт-Петербург','Санкт-Петербург','Северо-Западный'
    '1357710176','1357710207','RU','Мурманск','Мурманская область','Северо-Западный'
    '1357710280','1357710287','RU','Москва','Москва','Центральный'
    '1357710288','1357710295','RU','Подольск','Московская область','Центральный'
     
    1 person likes this.
  9. Joker-jar

    Joker-jar Elder - Старейшина

    Joined:
    11 Mar 2007
    Messages:
    581
    Likes Received:
    205
    Reputations:
    37
    Проблема только в правильном отделении города, области и региона. Область может состоять из нескольких слов, если города и регионы тоже, то придется сделать справочники областей и регионов, думаю их не очень много
     
  10. t0tal

    t0tal Member

    Joined:
    30 Nov 2007
    Messages:
    12
    Likes Received:
    10
    Reputations:
    0
    Пользуйся экселем как разделитель выбери пробел и подставляй куда надо столбики с запятыми или кавычками, что там надо то и вставляй.
     
    1 person likes this.
  11. SSB1981

    SSB1981 Elder - Старейшина

    Joined:
    7 Jan 2008
    Messages:
    108
    Likes Received:
    9
    Reputations:
    0
    Спасибо.
     
  12. SSB1981

    SSB1981 Elder - Старейшина

    Joined:
    7 Jan 2008
    Messages:
    108
    Likes Received:
    9
    Reputations:
    0
    Спасибо!
    Держи +