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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/371.32  23 Aug 2000  14:26:10
 To : Vladimir Sidorenko
 Subject : Re: Маленькие
 -------------------------------------------------------------------------------- 
 
 <Vladimir_Sidorenko@p32.f438.n50.z2.fidonet.org> wrote:
 
 VS> имеем: $_="fl033-rd Of June\n"
 VS> нyжно: $1="fl03";
 VS>        $2="3-rd Of June";
 
 VS> не pаботает: m/(^\w+\d{2})(+)\n/g
 
                               ^^^
 
 VS> pаботает:    m/(^\w+\d{2})(\d|\w.+)\n/g
 VS> Q: Почемy ?
 
 Скорее всего, из-за подчеркнутого выражения. Чего-то я такого в синтаксисе
 регексов не помню... А если там имелось в виду .+, то потому что \d - это тоже
 \w, и потому съедаются все три цифры. Второе работает потому что "-" - это не
 \w. Поэтому часть все выражение отрабатывает как (^\w+\d{2})(\w.+)\n с
 соответствием \w+ = "fl", \d{2} = "03", \w = "3", .+ = "-rd Of June". В другой
 ситуации не сработает и это, например, на строке fl0323-rd Of June\n" выдаст в
 результате "fl032" и "3-rd Of June\n". А то, что тебя интересует, в
 зависимости от того, как оно тебя интересует, записывается либо
 
 (^\D+\d{2})(.+) - "строка начинается с одной или более не-цифры, далее две
 цифры"
 
 либо
 
 (^\w+?\d{2})(.+) - "строка начинается с одного или более wordchar, но как
 можно меньше, далее две цифры"
 
 либо
 
 (^[^\W\d]+\d{2})(.+) - "строка начинается с одного или более wordchar, не
 являющегося цифрой (дословно - "не non-word char и не цифра"), далее две
 цифры"
 
 Соответственно, первое будет оставлять в $2 "3-rd Of June" еще и на строке
 "&%&^%033-rd Of June\n", второе - на строке "0033-rd Of June\n", третье
 наиболее близко к тому, чего ты вроде бы хотел (заметим, ты этого не
 сформулировал, ограничился примером. А зря).
 
 -- 
 Счастливо!
   Ран.
 --- ifmail v.2.14.os-p7-tma3
  * Origin: MemoNet (2:5020/371.32@fidonet)
 
 

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

 Тема:    Автор:    Дата:  
 Маленькие   Vladimir Sidorenko   22 Aug 2000 09:37:57 
 Re: Маленькие   Artem Chuprina   23 Aug 2000 14:26:10 
 Re: Маленькие   Ivan Frolcov   23 Aug 2000 16:18:37 
 Re: Маленькие   Dmitriy Goldobin   24 Aug 2000 15:52:05 
Архивное /ru.perl/17121281551f3.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional