Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 23:07 27.04.24 
Клубове/ Компютри и Интернет / Perl Всички теми Следваща тема Пълен преглед*
Информация за клуба
Тема Re: Porskajete kak da stane tozi Regular Expression [re: ricki]
Авторsofit (Нерегистриран) 
Публикувано08.05.03 20:30  



#!/usr/bin/perl -w
use strict;
$_ = '156,"15,234",567,845,156,234,567,845';
my @array = /((?:(?<=")(?:\d+,\d+)(?="))|(?:\d+)),?/g;

или

my @array = /((?<=")\d+,\d+(?=")|\d+)/g;

Ако горното те притеснява като сложност...

@array вече ще съдържа както следва следните елементи (подред от 0-6):
156
15,234
567
845
156
234
567
845

Не е най-доброто, което може да се измисли, но... Има и по-трудно нещо, което ми дойде първо като идея, но горното сякаш хем си върши работата хем е малко сложно и кефи;)

$str='1,"3,21",5,6,"12,41"';

while ($str)
{
($obj, $str) = popitem($str);
push(@ar, $obj);
}
print join("|", @ar);
sub popitem
{
my $in = shift;
my @out;
if ($in =~ m/^(\d+),(.*)/) { $out[0] = $1; $out[1] = $2; return @out; }
elsif ($in =~ m/^"(.+?)",(.*)/) { $out[0] = $1; $out[1] = $2; return @out; }
else { $in =~ s/"//g; $out[0] = $in; return @out; }
}

Надявам се, че това помогна...



Цялата тема
ТемаАвторПубликувано
* Porskajete kak da stane tozi Regular Expression ricki   14.04.03 22:03
. * Re: Porskajete kak da stane tozi Regular Expression usermod   14.04.03 23:45
. * Re: Porskajete kak da stane tozi Regular Expression ricki   15.04.03 03:02
. * Re: Porskajete kak da stane tozi Regular Expression darklord   15.04.03 23:29
. * Re: Porskajete kak da stane tozi Regular Expression ricki   06.05.03 01:34
. * Re: Porskajete kak da stane tozi Regular Expression edno momiche   06.05.03 17:10
. * Re: Porskajete kak da stane tozi Regular Expression edno momiche   06.05.03 17:06
. * Re: Porskajete kak da stane tozi Regular Expression sas   07.05.03 16:48
. * Re: Porskajete kak da stane tozi Regular Expression edno momiche   07.05.03 17:36
. * Re: Porskajete kak da stane tozi Regular Expression sas   07.05.03 20:24
. * Re: Porskajete kak da stane tozi Regular Expression sofit   08.05.03 20:30
. * Re: Porskajete kak da stane tozi Regular Expression ricki   10.05.03 01:20
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.