[date:20100322]の検索結果


コメント内のURLを自動的にリンクする処理の正規表現が、よく見るとかなり怪しかったの少し調べてみたのですが、それほど正確でなくてもいいと言うのであれば、

s?https?:\/\/[-_.!~*'()a-zA-Z0-9;\/?:\@&=+\$,%#]+

で良いみたいです。

なので、PerlでURLを自動的にリンクする処理は以下のような感じになります。

my $pattern = "s?https?://[-_.!~*'()a-zA-Z0-9;/?:@&=+$,%#]+";
$text =~ s/($pattern)/<a href="$1">$1<\/a>/g;

ちなみに、正確なhttp URL の正規表現はこうらしい。

my $digit = q{[0-9]};
my $upalpha = q{[A-Z]};
my $lowalpha = q{[a-z]};
my $alpha = qq{(?:$lowalpha|$upalpha)};
my $alphanum = qq{(?:$alpha|$digit)};
my $hex = qq{(?:$digit|[A-Fa-f])};
my $escaped = qq{%$hex$hex};
my $mark = q{[-_.!~*'()]};
my $unreserved = qq{(?:$alphanum|$mark)};
my $reserved = q{[;/?:@&=+$,]};
my $uric = qq{(?:$reserved|$unreserved|$escaped)};
my $query = qq{$uric*};
my $pchar = qq{(?:$unreserved|$escaped|} . q{[:@&=+$,])};
my $param = qq{$pchar*};
my $segment = qq{$pchar*(?:;$param)*};
my $path_segments = qq{$segment(?:/$segment)*};
my $abs_path = qq{/$path_segments};
my $port = qq{$digit*};
my $IPv4address = qq{$digit+\\.$digit+\\.$digit+\\.$digit+};
my $toplabel = qq{(?:$alpha|$alpha(?:$alphanum|-)*$alphanum)};
my $domainlabel = qq{(?:$alphanum|$alphanum(?:$alphanum|-)*$alphanum)};
my $hostname = qq{(?:$domainlabel\\.)*$toplabel\\.?};
my $host = qq{(?:$hostname|$IPv4address)};
my $http_URL = qq{http://$host(?::$port)?(?:$abs_path(?:\\?$query)?)?};
my $pattern = $http_URL;

ぐはっ!

http://www.din.or.jp/~ohzaki/perl.htm#httpURL
[1792] Posted by kagahiro at 2010/03/22 14:48:13
0 point | Link (2) | Trackback (0) | Comment (0)

  1  


アクセスランキング

今日のアクセスランキング TOP 10

  1. StartPage(スタートページ) - 匿名検索エンジン (3 PV)
  2. 2NN 2ちゃんねるニュース速報+ナビ (3 PV)
  3. 自作のMT4向け無料EA(口座縛り無し、ブローカー縛り無し、使用期限無し)とゴゴジャン出品中の有料EAの一覧 #MT4 (2 PV)
  4. Perlで全角半角変換を行う方法 (2 PV)
  5. FC2まとめ (2 PV)
  6. [PR]スキャルピングとナンピンマーチンを組み合わせたツール(半自動EA)「Scalpin MT5」をnoteで販売中 (2 PV)
  7. 時間指定で仲値トレードも簡単にできる無料EA「NAKANE3 Ver 2.02」 (2 PV)
  8. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (2 PV)
  9. NHKスペシャル「激流中国」が面白い (1 PV)
  10. 将棋ウォーズPCブラウザ版がchrome、Firefox、edgeなどに対応 (1 PV)

今月のアクセスランキング TOP 10

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (129 PV)
  2. オープンソースの掲示板ソフト (92 PV)
  3. FC2まとめ (46 PV)
  4. StartPage(スタートページ) - 匿名検索エンジン (42 PV)
  5. 2NN 2ちゃんねるニュース速報+ナビ (40 PV)
  6. 裁量トレードを半自動化する無料のMT5向け裁量トレード支援ツール(裁量補助EA)「PositionKeeper MT5」 #FX (26 PV)
  7. 「SQLite」に深刻なセキュリティ上の脆弱性 #データベースエンジン (24 PV)
  8. マイクロブログ(microblog) (21 PV)
  9. Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (21 PV)
  10. [FX]裁量ポジションを簡単に管理できるMT4向け無料の裁量補助EA「PositionKeeper」 (20 PV)

アクセス統計

ディレクトリ

関連サイト