Автор Тема: Perl vs Регулярные выражения  (Прочитано 2827 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн FANTAzeRus

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 93
  • +0/-0
  • 0
    • Просмотр профиля
Perl vs Регулярные выражения
« : 15 Декабря 2003, 12:32:19 »
Помогите с регулярным выражением. Как выдрать из полного пути только имя файла.
Пример:
http://www.test.ru/images/test.gif

нужно выдрать только - test.gif

Оффлайн mike

  • ProPerl\'er
  • Старожил
  • ****
  • Сообщений: 435
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Perl vs Регулярные выражения
« Ответ #1 : 15 Декабря 2003, 12:54:35 »
$name = \'http://www.test.ru/images/test.gif\';
($file) = $name =~ m!([^/]*)$!
[ основной браузер когда-то был, теперь попробуй разберись =]

Оффлайн vladsu

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 271
  • +0/-0
  • 0
    • Просмотр профиля
    • http://vladislavsurguchev.eu/
Perl vs Регулярные выражения
« Ответ #2 : 15 Декабря 2003, 16:56:25 »

use strict;
use Benchmark;

my $name = \'http://www.test.ru/images/test.gif\';
my $file;

timethese(1_000_000, {
                      \'Name1\' => sub {($file) = $name =~ m!([^/]*)$!},
                      \'Name2\' => sub {[B]$file = substr($name,rindex($name,"/")+1);[/B]},
                     });


Benchmark: timing 1000000 iterations of Name1, Name2...
     Name1: 52 wallclock secs (52.06 usr +  0.01 sys = 52.07 CPU) @ 19206.39/s (n=1000000)
     Name2:  1 wallclock secs ( 1.51 usr +  0.00 sys =  1.51 CPU) @ 661375.66/s (n=1000000)
----------------------------------------------
Мой сайт чёрно-белых фотографий из разных уголков мира тут

Оффлайн mike

  • ProPerl\'er
  • Старожил
  • ****
  • Сообщений: 435
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Perl vs Регулярные выражения
« Ответ #3 : 15 Декабря 2003, 17:10:07 »
vladsu
[off]Быстрее, не поспоришь. Но изначально речь шла о регулярных выражениях. ;)[/off]
[ основной браузер когда-то был, теперь попробуй разберись =]

Оффлайн vladsu

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 271
  • +0/-0
  • 0
    • Просмотр профиля
    • http://vladislavsurguchev.eu/
Perl vs Регулярные выражения
« Ответ #4 : 15 Декабря 2003, 17:20:16 »
Допускаю, что люди зная, что регекспы в Перл мощное средство, пытаются использовать их, и даже не знают, что есть случаи когда можно обойтись без них да еще и выиграть в производительности.
:D
----------------------------------------------
Мой сайт чёрно-белых фотографий из разных уголков мира тут

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28