|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Dmitriy Goldobin 2:5020/400 24 Aug 2000 15:52:05 To : All Subject : Re: Маленькие --------------------------------------------------------------------------------
> имеем: $_="fl033-rd Of June\n"
> нyжно: $1="fl03";
> $2="3-rd Of June";
>
> не pаботает: m/(^\w+\d{2})(+)\n/g
> pаботает: m/(^\w+\d{2})(\d|\w.+)\n/g
> Q: Почемy ?
(+) это (.+) ?
\w+ сожрет максимум сколько сможет, то есть fl0
\d|\w.+ - это вообще не то, что ожидал, у or очень низкий приоритет. Hа
словах это так: "одна цифра либо буквоцифра с не менее чем одним символом".
Причем здесь \d имеет приоритет, из "123" выделится "1", хотя "123" подходит
под маску \w.+
Hе совсем понятно по какому принципу ты хочешь делить. Если во второй части
первым знаком обязана быть одна и только одна цифра, то так:
/(.*)(\d.*)/
Если первая часть должна оканчиваться с двумя цифрами, то так:
/([^\d]*\d\d)(.*)/
--- ifmail v.2.15dev5
* Origin: Electronic Microsystems JSC (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/21956809eb0e4.html, оценка из 5, голосов 10
|