Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/400     05 Apr 2004  17:57:29
 To : Igorr V.Syurtukov
 Subject : Re: почему?
 -------------------------------------------------------------------------------- 
 
 Igorr V.Syurtukov -> All  @ Sat, 03 Apr 2004 18:19:20 +0400:
  IV>  Регэксповый вопрос: хочу в строке (на самом деле в ней имя
  IV> мп3-шки) заменить кучу слов на их нижнерегистровый вариант. Делал
  IV> так (старый вариант):
 
  IV> $mp3=~s/( To | The | A  |...| An )/\L$1/ig;
 
  IV>  ...ну не заменяет второе вхождение, если идет, к примеру "... In
  IV> The ..."! До первого отрабатывает и все тут! Почти точно помню, что
  IV> раньше делало все нормально, а теперь упс! Бился головой об стенку,
  IV> все перепробовал - не судьба.  Извратился так:
 
  IV> ===
  IV> @array=("From","At","To","Of","On","The","For","An");
  IV> foreach $tmp(@array){$mp3=~s/(?<!\-)(\s$tmp\s)/\L$1/ig;};
  IV> ===
 
  IV>  смысл работы - все эти At, To и т.д., если они не первым словом
  IV> после "-" стоят и окружены пробелами опустить в нижний регистр,
  IV> невзирая на их текущий регистр (ведь может быть и From и FROM и
  IV> FROm). Почему не работает верхняя замена в глобале?
 
 По идее, оно у тебя работать должно через одно слово.  А лечится это
 посредством нахождения в perldoc perlre подстроки "\b".  Осознание
 причин оставляется в качестве домашнего упражнения.
 
 -- 
 Artem Chuprina
 RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/122.256, ICQ: 13038757
 --- ifmail v.2.15dev5.3
  * Origin: Leninsky 45 home network (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 почему?   Igorr V Syurtukov   03 Apr 2004 18:19:20 
 Re: почему?   Artem Chuprina   05 Apr 2004 17:57:29 
 почему?   Igorr V Syurtukov   05 Apr 2004 19:00:00 
 Re: почему?   Maxim Yemelyanov   06 Apr 2004 12:00:03 
 почему?   Igorr V Syurtukov   06 Apr 2004 19:44:24 
 Re: почему?   Artem Chuprina   06 Apr 2004 12:36:47 
 почему?   Igorr V Syurtukov   06 Apr 2004 19:45:16 
 Re: почему?   Artem Chuprina   07 Apr 2004 14:45:38 
 Re: почему?   Alexander P. Russkih   05 Apr 2004 20:36:52 
 Re: почему?   Alexander P. Russkih   06 Apr 2004 08:08:55 
Архивное /ru.perl/256065d0db522.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional