perlでhttpアドレスのマッチ表現をするには?
[上に]
[前に]
[次に]
nozomi
1999/08/20(金) 02:17:39
perlのマッチ表現で以下のようにしてURLのマッチ表現をしたいんですがどうもうまく行きません。
ご指摘お願いします。
$ap_p =~ /(http:\/\/)([a-z|0-9|-|\~|.]+)([\/])([a-z|0-9|- \~|.]+)([\/])(.*)/i) {$ap_q="$1$2$3$4$5";}
nozomi
1999/08/20(金) 02:29:56
上のスクリプトが崩れてましたので一応訂正しておきます。
$ap_p =~ /(http:\/\/)([a-z|0-9|-|\~|.]+)([\/])([a-z|0-9|- \~|.]+)([\/])(.*)/i) {$ap_q="$1$2$3$4$5";}
葉月
1999/08/20(金) 08:45:09
かなださんのサイトで
http://www.tt.rim.or.jp/~canada/comp/cgi/tech/の
http://www.tt.rim.or.jp/~canada/comp/cgi/tech/urlmatch/に
URLの正規表現について、書かれています。
もうちょっと詳しいのが、
http://www.din.or.jp/~ohzaki/perl.htm(大崎さんのサイト)の
http://www.din.or.jp/~ohzaki/perl.htm#URIに書かれています。
参考になれば...
J.Naka
[E-Mail]
[HomePage]
1999/08/20(金) 20:24:48
こんにちは、初めまして。
解答ではないのですが、少し希望というかお願いというか(^^;
>nozomi 1999/08/20(金) 02:29:56
>$ap_p =~ /(http:\/\/)([a-z|0-9|-|\~|.]+)([\/])([a-z|0-9|- \~|.]+)([\/])(.*)/i) {$ap_q="$1$2$3$4$5";}
この正規表現は一発で出たはずではないはず。
これに至った過程も提示してもらえると、第三者的閲覧者には
凄く参考になります。(^^;
蛇足:
思考の過程、つまりエディット過程を日付等も含めて自動的に
履歴ファイルとしてくれるEditerがあれば、思いつきでバッパ
書く輩にはとっても重宝するかも(^^;
nozomi
1999/08/22(日) 02:25:53
[[解決]]
葉月さん、J.Nakaさんご指摘ありがとうございます。
(http:\/\/)([a-z|0-9|-|\~|.]+)([\/])([a-z|0-9|-|\~|.]+)([\/])(.*)/i)
上のスクリプト$2と$4の部分を([^\/])にしたら結構ミスなくとれました。
ちなみにこのマッチ部は長いパスを「http://www.wakusei.ne.jp/」ここまでのマッチをしたかったんです。
[上に]
[前に]
[次に]