[#42355] TkCanvasの座標 — Masato Ishimoto <i@...>
はじめまして。Newbieいしもと といいます。
12 messages
2006/06/02
[#42356] Re: TkCanvasの座標
— Hidetoshi NAGAI <nagai@...>
2006/06/03
永井@知能.九工大です.
[#42357] Re: TkCanvasの座標
— Masato Ishimoto <i@...>
2006/06/04
こんにちは、いしもとです。
[#42358] Re: TkCanvasの座標
— Hidetoshi NAGAI <nagai@...>
2006/06/04
永井@知能.九工大です.
[#42359] Re: TkCanvasの座標
— Masato Ishimoto <i@...>
2006/06/04
おはようございます。いしもとです。
[#42373] My/SQL/Ruby for Windows での不具合 — 林 浩一郎 <NQA58508@...>
subscribe Koichiro Hayashi
5 messages
2006/06/09
[#42375] String#count, String#deleteの利用想定 — Daisuke Yamazaki <yamajaki@...>
こんにちは
6 messages
2006/06/10
[#42389] ruby -Ks -rjcode -e"p('|%5.5s|'%'泣き別れ')" #=> "|泣き怖" — take_tk <ggb03124@...>
たけ(tk)です
7 messages
2006/06/12
[#42394] eachはなぜ元々のオブジェクトが返るのか? — Fujioka <fuj@...>
藤岡です。
7 messages
2006/06/12
[#42416] ファイル中の空行の削除方法 — 遠藤 大二 <dendoh@...>
遠藤@札幌です
6 messages
2006/06/18
[#42423] 空白行を除くための行数の数え方 — 遠藤 大二 <dendoh@...>
遠藤@札幌 です
9 messages
2006/06/19
[#42428] toplevel ウィジェットにイベントがわたらない? — Hiroshi Kimura <Hiroshi.Kimura@...>
九工大、木村といいます。
8 messages
2006/06/20
[#42454] 多量の正規表現との効率的なマッチのアイデアを、、 — しん <dezawa@...>
出沢です
22 messages
2006/06/22
[#42455] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— rubikitch <rubikitch@...>
2006/06/22
From: しん <dezawa@aliadne.net>
[#42456] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— しん <dezawa@...>
2006/06/23
出沢です
[#42458] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— rubikitch <rubikitch@...>
2006/06/23
From: しん <dezawa@aliadne.net>
[#42459] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— しん <dezawa@...>
2006/06/23
出沢です
[#42460] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— rubikitch <rubikitch@...>
2006/06/23
From: しん <dezawa@aliadne.net>
[#42461] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— しん <dezawa@...>
2006/06/23
出沢です。
[#42465] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— rubikitch <rubikitch@...>
2006/06/23
From: しん <dezawa@aliadne.net>
[#42467] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— しん <dezawa@...>
2006/06/23
出沢@なるほど、、、
[#42475] String#first, String#last — Kouhei Yanagita <yanagi@...>
こんにちは。柳田です。
6 messages
2006/06/23
[ruby-list:42458] Re: 多量の正規表現との効率的なマッチのアイデアを、、
From:
rubikitch <rubikitch@...>
Date:
2006-06-23 02:29:12 UTC
List:
ruby-list #42458
From: しん <dezawa@aliadne.net>
Subject: [ruby-list:42456] Re: 多量の正規表現との効率的なマッチのアイデアを、、
Date: Fri, 23 Jun 2006 10:05:50 +0900
> こういうデータで
> 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
52に分類されているドメインのうちmyregのどれかに一致するのはこの2つでは?
52 download.windowsupdate.com
52 officescan-p.activeupdate.trendmicro.com:80
> ついでに、、、
> m0 windowsupdate
> m0 trendmicro
> m1 w3b.mydomain
> m2 mydomain
>
> という入力データから正規表現のかたまりを作るには、
> while gets でくくってこつこつ、
> f=stlip して myreg << Reg.new(f[1]).gsub(/\./,"\\./).gsub(/\//,"\\/")
> するしか無いですか?
stlip? Reg?
正規表現のquoteなら.gsub(/\./,"\\./).gsub(/\//,"\\/")の部分はRegexp.quoteが使えますね。
Rubyらしさを求めるならば、ぜひブロックを使いましょう。
each、map、find_allあたりから慣れてみましょう。
各々の要素について処理を行ない新たな配列を返すmapはとても便利です!!
input.split(/\n/).map{|line| cat,data = line.split; [cat, Regexp.new(Regexp.quote(data))]}
# => [["m0", /windowsupdate/], ["m0", /trendmicro/], ["m1", /w3b\.mydomain/], ["m2", /mydomain/]]
> 正規表現を値にする配列を作り、レコードを読むたびに配列の中を順に
> マッチさせて行けば良いのでしょうが、なんかおもしろくないな、、
> ということで、
> 効率的に行なう方法
> か
> rubyらしい、きれいな方法か
> か
> がないものか悩んでいるところです。
こういう質問をする場合は悩む前にとりあえず動くプログラムを書いてください。
どういう形であれ動くプログラムがあれば意図は伝わります。
--
rubikitch
http://www.rubyist.net/~rubikitch/