egrep.rb では、検索するパターンをプログラムの中に仕込んでおく必要がある。 今度は検索パターンをキーボードで入力して探すように変更したい。 Regexp method を使おう。 std_regexp.rb
#!/usr/koeki/bin/ruby
$KCODE = 'e'
STDERR.print("検索パターン : ")
pattern = STDIN.gets.chomp # 変数 pattern にキーボード入力
# で取ってきた調べたい文字列をしまう
request = Regexp.new(pattern, true, "e") # 変数 request に /調べたい文字列/ei
# を代入する。
while station = gets
if request =~ station
# p station
print station
end
end
STDIN は StanDard INput (標準入力) の略である。 キーボードで操作するという意味である。
"chomp" は、文字列を切り取るという method である。 "true" は egrep コマンドの -i と同じで、大文字小文字を区別しない、 という意味である。 "e" で漢字コードを EUC jp に指定している。 実行方法はこちら