アプリ版:「スタンプのみでお礼する」機能のリリースについて

数万行あるテキストファイルの中を数百パターンくらいの正規表現で
サーチするRubyスクリプトを作成しようとしていますがうまくできません。

どなたかお知恵を拝借させてください。
以下の流れで作ろうとしています。


ファイルを一行GETして、その行が事前に定義した配列内の正規表現に合致していればprintする。

次の行をGETして、最初からた正規表現の配列を比較して、合致していればprintする。

テキストファイルが終わるまで、繰り返し





何分初心者なもので…、他のやり方があれば教えていただきたいです…


ヨロシクお願いしますm(__)m

A 回答 (3件)

素直に書くとこんな感じでしょうか


http://ideone.com/FJDTo

予め一つの正規表現にまとめておくという考え方もありそうですが、数百となると試したこと無いですね・・・
http://ideone.com/KqRbw
    • good
    • 0

pattern = [/aa/,/ff/,/gg/]


upat = Regexp.union(*pattern)

IO.foreach("foo.txt") do |line|
puts line if upat =~ line
end
    • good
    • 0

こんなのとか:


http://codepad.org/gcKSVXH8
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!