Регулярное выражение Rails для извлечения ссылки/кода Twitpic, если оно присутствует

Указан URL-адрес в текстовой строке (твит), например

"Посмотрите мой твитпик http://twitpic.com/1876544594, он потрясающий"

Мне нужно регулярное выражение Rails, которое вернет 18744594, идентификатор этого конкретного твитпика...

Этот вопрос был задан здесь, но был для PHP , и мне это нужно для Rails.

Я бы также мог получить название сайта, поэтому текст между http:// и .com "twitpic"


person Rabbott    schedule 28.04.2010    source источник


Ответы (1)


Чтобы извлечь только 18744594

/http:\/\/twitpic\.com\/(\d+)/

Чтобы извлечь twitpic и 18744594

/http:\/\/(twitpic)\.com\/(\d+)/
person YOU    schedule 28.04.2010
comment
и если бы идентификатор был буквенно-цифровым, я бы просто изменил d+ на w+? - person Rabbott; 28.04.2010
comment
О.. и причина, по которой я прошу извлечь twitpic, для случаев, когда это НЕ twitpic.. я хочу знать, что это такое.. поэтому, не предоставляя twitpic, мне нужно знать, что находится между http:// и .com - может быть, например, tweetphone или yfrog - person Rabbott; 28.04.2010
comment
Это будет /http:\/\/(\w+)\.com\/(\w+)/, тогда 'twitpic' будет 1 доллар, а 18744594 будет 2 доллара. - person Michael Ulm; 28.04.2010
comment
Спасибо, Михаил, я опоздал с ответом. И @Rabbott, да, \w+ подойдет для буквенно-цифрового, \w это [a-zA-Z0-9_] - person YOU; 28.04.2010