|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Ivan Frolcov 2:5020/175.2 15 Sep 2002 22:09:35 To : John Lepikhin Subject : Re: подсобите -------------------------------------------------------------------------------- IF>> $str = '/часть 6/часть 5/часть 4/часть 3/часть 2/часть 1'; IF>> @arr=($str=~/(\d?\/\S+)/g); JL> 1. Заметь, что человеку надо получить инвертированный массив. Хоссподи, а это кто такое? А это не больно? Про инвертированные списки - да, слышал.... JL> 2. Зачем применять регэкспы, где можно обойтись простым split'ом? Hу да, а в сплите регексы не простые, а с подвыподвертом в виде ' ' :-) JL> 3. Твое решение в корне неверно т.к. получается такой результат: А автор исходного вопроса вообще не озадачивался четким и ясным определением, какой результат для него корректный, а какой - как бы типа не вполне. Так шта-а... JL> $ch[0]: '/часть' JL> $ch[1]: '6/часть' JL> $ch[2]: '5/часть' JL> $ch[3]: '4/часть' JL> $ch[4]: '3/часть' JL> $ch[5]: '2/часть' JL> Если уж сильно хочется регэкспом, тогда так: JL> @ch = reverse ($str =~ /([^\/]+)\//g); JL> Гм, такое решение получилось даже быстрее, чем мое JL> (см. предыдущее письмо) :) Hу вот видишь, "Ум хорошо -- два лучше. Один присоветует одно, другой -- другое, "и путь открыт к успехам", (с)Гашек JL> -- JL> ... [болотный сисоп] {{злостный атеист и антикузнецовец}} А кто такое кузнецов, что тебе приходится из-за этого быть анти? --- ifmail v.2.15dev5 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/3300613337d8.html, оценка из 5, голосов 10
|