logo       

[ruby-list:42456] Re: 多量の正規表現との効率的なマッチのアイデアを、、: msg#00110

lang.ruby.japanese

Subject: [ruby-list:42456] Re: 多量の正規表現との効率的なマッチのアイデアを、、

出沢です

ありがとうございます。
関わりあるフィールドだけ抜き出します。

こういうデータで
52 convctr.overture.com
52 ct1.shinobi.jp
52 download.jword.jp
52 download.windowsupdate.com
52 officescan-p.activeupdate.trendmicro.com:80
49 w3b.mydomain.co.jp
49 www.example.com

何もしなければこういう結果を出す。
52 5count
49 2count


そこで、たとえばこういう情報を追加して
mycat=[ "m0" , "m0" ,"m1"   ,"m2" ]
myreg=[ /windowsupdate/, /trendmicro/,/w3b\.mydomain/,/mydomain/ ]

こういう結果にする。
52 3count
49 1count
m0 2count
m1 1count

w3b.mydomain.co.jp は m1 にも m2 にもマッチするが、
m1の方が先に定義されているのでこちらを採る。

ついでに、、、
m0 windowsupdate
m0 trendmicro
m1 w3b.mydomain
m2 mydomain

という入力データから正規表現のかたまりを作るには、
while gets でくくってこつこつ、
f=stlip して myreg << Reg.new(f[1]).gsub(/\./,"\\./).gsub(/\//,"\\/")
するしか無いですか?




<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise