From: TAKAHASHI Masayoshi Date: 1998-06-04T14:10:04+09:00 Subject: [ruby-list:8171] Re: 正規表現の使い方 高橋です。 ARIMA Yasuhiro さん: > Netscape Navigator 4.x の bookmark.htm から、HREF を切り出して > 小さなファイルにする ruby script を書いてみました。 こういう時こそ、やまださんの SimpleHtmlParser ですよね(^^;; # と思ってsimplehtmlparser.rb を使ってみたのですが、 # test.rbがエラーになってしまっています。 ## rubyは1.1b9_17 です。古いからでしょうか? ## 「/REGEXP/ =~ nil」は禁止、ってことでいいんでしたっけ? 「わざわざ真面目にparseしてどうする」「Netscapeのbookmark.htmは HTMLファイルじゃない」などのツッコミが入りそうですが、 SimpleHtmlParser のサンプル、ということで (^^; bookmark.htm以外のHTMLファイルにも使えるはずです。 -------------------- require 'simplehtmlparse' fn = ARGV.shift f = open(fn, 'r') anchor_href = "" ## 状態フラグ兼用 begin t = SimpleHtmlParse.new(f) {|part, name, begin_end, attribute| if name == 'A' if begin_end == SimpleHtmlParse::TAG_BEGIN and attribute anchor_href = attribute['HREF'] if anchor_href '
  • ' end elsif begin_end == SimpleHtmlParse::TAG_END anchor_href = "" "
  • \n" end elsif !anchor_href.empty? part end } ensure f.close end print "\n" -------------------- 高橋征義 (株式会社アイナック) Email:maki@inac.co.jp