URLからPathを抜き出すには
URLは、RFC1738では、以下のようになっています。
HTTP URL は、以下のような形態を取る
http://www.spencernetwork.org/reference/rfc1738-ja-URL.txt
http://: / ?
以下にURLから
◆サンプル
use strict; use warnings; my $wkURL = 'http://d.hatena.ne.jp/chaichanPaPa/searchdiary?word=%2a%5bPerl%a5%ce%a1%bc%a5%c8%5d'; $wkURL =~ /^http:\/\/.*?(\/.*?)(\?|\Z)/; print $1, "\n";
最短マッチの『.*?』がポイントですね。 はじめの『.*?』は『\/』までの最短マッチで、つぎの『.*?』は、『(\?|\Z)』までの最短マッチです。
- 参考リンク: Perlの謎(その8):正規表現