|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artur Penttinen 2:5020/400 08 Aug 2000 13:02:51 To : All Subject : Re: regexp --------------------------------------------------------------------------------
On 8 Aug 2000, Serge Shikov wrote:
> From: Serge Shikov <shikov@rinet.ru>
> Newsgroups: fido7.ru.perl
> Subject: Re: regexp
> Date: 8 Aug 2000 11:17:45 +0400
> X-Mailer: Mozilla 4.6 [en] (WinNT; I)
> Organization: home
>
> Paul Kulchenko wrote:
> >
> > > > > > Как перловым регекспом удалить скажем второй TAB в строке?
> > > > > > s/\t// - Удаляет первый
> > > > > > s/t//g -Удаляет все.
> > > > > > Как удалить только второй?
> > > > А if опять же зачем? Ведь тривиальнейший регексп:
> > > >
> > > > $str =~ s/.*?\t.*(\t).*//;
> > > >
> > > > будет IMHO делать ровно тоже самое, причем только тогда, когда
> > > > совпадение будет иметь место. Даже ? кажется не потребуется...
> > Потребуется.
> Hу я потому и написал "кажется"...
>
> > Ладно придираться-то.
> Вовсе нет, я просто пытался понять - может я чего-то упустил?
>
> > Естественно нужно добавить кое-что в правой части и кое-что в левой :)
> > $str =~ s/(.*?\t.*)\t/$1/;
> > Идея-то правильная.
> Hу можно и так. В любом случае чтоб найти второй \t, if явно ни к чему,
> это достигается s/// и обычным регекспом. Который либо оставляет все
> кроме \t, либо наоборот выбрасывает только его (смотря что в скобки
> заключим).
Да ладно, "tДДllД on enemmДn kuin yksi tie" :)
split + join
WBW, Artur
--
В парфюмерном отделе:
- Девушка, вам духи для атаки или для защиты?
--- ifmail v.2.15dev5
* Origin: Gamma NNTP server Moscow Russia (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/117262eb54c50.html, оценка из 5, голосов 10
|