[#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

出沢です。

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

From: しん <dezawa@...>
Date: 2006-06-22 14:57:05 UTC
List: ruby-list #42454
出沢です

100位の正規表現と10000位レコードのマッチを効率的に行なう方法を考えています。

400Byte/行 10000行位のデータがあります。
このなかに、ある項目の値とその分類番号があります。
分類番号(ともうひとつ別の項目との二次元の組み合わせ)毎の集計を行ないます。
ただし、その「ある項目の値」が複数ある正規表現のどれかとマッチする場合は
分類番号をその正規表現に対応した値に変更して集計します。

当初は正規表現は3個ぐらいで始まりますが、たぶん100位にまで増殖するでしょう。
どれかにマッチする可能性は、10%程度です。
仕事の性格上、後方参照はしないですから、正規表現中に ( ) は無いとして
よいかと思います。


単純に考えると、
正規表現を値にする配列を作り、レコードを読むたびに配列の中を順に
マッチさせて行けば良いのでしょうが、なんかおもしろくないな、、
ということで、
   効率的に行なう方法
か
   rubyらしい、きれいな方法か
か
がないものか悩んでいるところです。
ブロックなどの高度な使いかたがまだわかっていないこともあり
御知恵をお借りしたく思います。

In This Thread

Prev Next