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

Ответить