Re: в смыcле?

Date: 2009-10-14 05:13 pm (UTC)
From: [identity profile] breqwas.livejournal.com
while($msg =~ m@([a-z]+)://([^\s]+)@igs) { my ($protocol, $link) = ($1, $2); }

Хотя, собственно, кому я это говорю.
Менее страшно выглядящий формат ссылок привёл бы к куда более стрёмному коду для их обнаружения.
И imho глазом тоже было бы сильно тяжелее считывать.

Re: в смыcле?

Date: 2009-10-14 08:30 pm (UTC)
From: [identity profile] dimrub.livejournal.com
URI описывается куда более сложным регулярным выражением.

Re: в смыcле?

Date: 2009-10-14 09:39 pm (UTC)
From: [identity profile] breqwas.livejournal.com
Да. Но этого очень простого регулярного выражения будет достаточно, чтобы поймать в тексте все урлы и, скажем, завернуть их в <a href=>. Или чтобы сложить куда-нибудь в сторону для дальнейшей обработки.
Edited Date: 2009-10-14 09:49 pm (UTC)

например так?

Date: 2009-10-15 01:48 am (UTC)
From: [identity profile] zigmar.livejournal.com
^(?#Protocol)(?:(?:ht|f)tp(?:s?)\:\/\/|~/|/)?(?#Username:Password)(?:\w+:\w+@)?(?#Subdomains)(?:(?:[-\w]+\.)+(?#TopLevel Domains)(?:com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|museum|travel|[a-z]{2}))(?#Port)(?::[\d]{1,5})?(?#Directories)(?:(?:(?:/(?:[-\w~!$+|.,=]|%[a-f\d]{2})+)+|/)+|\?|#)?(?#Query)(?:(?:\?(?:[-\w~!$+|.,*:]|%[a-f\d{2}])+=(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)(?:&(?:[-\w~!$+|.,*:]|%[a-f\d{2}])+=(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)*)*(?#Anchor)(?:#(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)?$

Re: например так?

Date: 2009-10-15 08:05 am (UTC)
From: [identity profile] dimrub.livejournal.com
Нет, увы. Вот здесь, в главе про синтакс: http://www.ietf.org/rfc/rfc2396.txt

Re: например так?

Date: 2009-10-15 12:10 pm (UTC)
From: [identity profile] zigmar.livejournal.com
Да, я примерно представляю себе. Я когда-то видел, кажется на CPAN регексп который распознаёт URL по стандарту, так там примерно на страницу было выражение.

December 2025

S M T W T F S
  123 4 56
78 9 10 11 1213
1415 1617181920
21 22 23 24 2526 27
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 29th, 2025 11:48 am
Powered by Dreamwidth Studios