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";}
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/」ここまでのマッチをしたかったんです。