From: rubikitch@... Date: 2007-11-21T09:02:23+09:00 Subject: [ruby-list:44257] Re: Rubyにおける日本語の正規表現のマッチングにつきまして From: "Hiromitsu Matsuura" Subject: [ruby-list:44256] Rubyにおける日本語の正規表現のマッチングにつきまして Date: Wed, 21 Nov 2007 03:21:57 +0900 るびきちです。 > Rubyで日本語の正規表現のマッチングを行おうと思っています。 > やろうとしていることは、htmlファイルを取得して、その中に指定した日本語が > ある場合のみ特定の処理をしようというものです。 まず、漢字コードは何でしょうか? Yahoo! Japanの漢字コードがEUC-JPなので、 スクリプトの漢字コードがEUC-JPならば、そのままできます。 正規表現にuオプションをつけているのは、UTF-8文字列の比較をするつもりですか? nkfでUTF-8に変換するのは-uではなくて-wです。 #!/usr/bin/ruby -Ke require 'net/http' host = 'yahoo.co.jp' h = Net::HTTP.new(host, 80) while htmlfile = DATA.gets htmlfile = htmlfile.chomp resp, data = h.get("/" + htmlfile, nil) data.each do |i| if /買う/ =~ i puts i end end end __END__ index.html # >> 買う 今なRubyに書き直してみるとこんな感じです。 #!/usr/bin/ruby -Ke require 'open-uri' DATA.each do |htmlfile| puts URI("http://yahoo.co.jp/#{htmlfile.chomp}").read.grep(/買う/) end __END__ index.html # >> 買う -- rubikitch Blog: http://d.hatena.ne.jp/rubikitch/ Site: http://www.rubyist.net/~rubikitch/