5 апреля 2015 г., 23:14 пользователь Кузьменко Константин <[email protected]> написал: > Это файл TXT > 123 | 12345678901234567890 | 760.00 |ФАМИЛИЯ |ИМЯ > |ОТЧЕСТВО |123456|222|888|9|RU|00007| > На Выходе должен получиться CSV > 12345678901234567890;ФАМИЛИЯ;ИМЯ;ОТЧЕСТВО;760.00;
Это вообще проще без регулярок делать. А банальным split-ом (с минимальной регуляркой вида /\s*|\s*/) и join-ом (ну или при помощи модуля Text::CSV). > -- > Специалист IT, GNU, FLOSS, Open Source > Моб: +7 (951) 131 33 90 > С уважением, > Кузьменко Константин Викторович > > > 05.04.2015, 18:16, "Иван Миронов" <[email protected]>: >> Константин, Добрый день! >> >> Попробуйте уменьшить жадность квантификаторов добавив после знаков звездочки >> вопросительный знак. >> >> s/^(.*?;).*?;.*?;.*?;.*?;.*?;(.*?;.*?;.*?;.*?;.*?;.*?;)$//g; >> >> Если не получится, я думаю было бы здорово если бы вы приложили пример >> исходных данных для этого регулярного выражения. >> >> воскресенье, 5 апреля 2015 г. пользователь Алексей Мышкин написал: >>> Есть подозрение что жадный квантификатор берёт всё что может, и строке за >>> скобками уже ничего не остаётся. >>> >>> 5 апреля 2015 г., 15:42 пользователь Кузьменко Константин <[email protected]> >>> написал: >>>> Добрый день Moscow.pm >>>> Не могу понять регулярки перл! >>>> >>>> #!/usr/bin/perl >>>> >>>> use strict; >>>> use warnings; >>>> use utf8; >>>> use open qw/ :encoding(utf8) :std /; >>>> #use open qw/ :encoding(cp1251) :std /; >>>> >>>> my @onfil = @ARGV; >>>> open(INFIL, "<:encoding(cp866)", $onfil[0]) >>>> or die "NO STANDART $!"; >>>> >>>> while (<INFIL>) { >>>> $_ =~ s/\h+//g; >>>> $_ =~ s/\|/;/g; >>>> $_ =~ s///g; >>>> $_ =~ s/^(.*;).*;.*;.*;.*;.*;(.*;.*;.*;.*;.*;.*;)$//g; # Не удаляется >>>> в скобках >>>> print; >>>> } >>>> >>>> close INFIL; >>>> >>>> __END__ >>>> >>>> Может что нибудь посоветуете >>>> зы: Z yjdbxjr d Зукл >>>> -- >>>> Специалист IT, GNU, FLOSS, Open Source >>>> Моб: +7 (951) 131 33 90 >>>> С уважением, >>>> Кузьменко Константин Викторович >>>> >>>> -- >>>> Moscow.pm mailing list >>>> [email protected] | http://moscow.pm.org >>> >>> -- >>> С уважением, >>> Мышкин Алексей. >> >> -- >> >>> >> С уважением, Миронов Иван! >> тел.: +7 (926) 206-90-39 >> >> , >> >> -- >> Moscow.pm mailing list >> [email protected] | http://moscow.pm.org > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org -- Best regards, Ilya Chesnokov -- Moscow.pm mailing list [email protected] | http://moscow.pm.org
