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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/400     06 Apr 2004  12:36:47
 To : Igorr V.Syurtukov
 Subject : Re: почему?
 -------------------------------------------------------------------------------- 
 
 Igorr V.Syurtukov -> Artem Chuprina  @ Mon, 05 Apr 2004 19:00:00 +0400:
 
  IV>>> $mp3=~s/( To | The | A  |...| An )/\L$1/ig;
  IV>>>  ...ну не заменяет второе вхождение, если идет, к примеру "... In
 
  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). Почему не работает верхняя замена в глобале?
  AC>> По идее, оно у тебя работать должно через одно слово.  А лечится это
  AC>> посредством нахождения в perldoc perlre подстроки "\b".  Осознание
  AC>> причин оставляется в качестве домашнего упражнения.
 
  IV>  Вспомнил про \b - граница слова. Я ей никогда не пользовался. И
  IV> чем хуже вариант с \s - который для меня более прозрачный?
 
 Тем, что для того, чтобы отматчилось " To The " в твоем варианте без
 цикла, между "To" и "The" должно быть как минимум два пробела.
 Следующий match начинают проверять после конца предыдущего.  А кроме
 того, нужен пробел до и пробел после.  В "To The" не отматчится ни
 "\sTo\s", ни "\sThe\s".
 
  IV> Почему
  IV> надо юзать \b и самое главное - как? (:
 
 \bTo\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/256062fcbc58d.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional