基礎プログラミング I 第07 回 正規表現と Ruby 言語でのプログラミング キーボードから検索文字を入力したい

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
データ処理の方法をキーボードからの入力により行う

STDIN は StanDard INput (標準入力) の略である。 キーボードで操作するという意味である。

Regexp.new(変数, オプション, 文字コード)
正規表現したい文字列にオプションをつける。

"chomp" は、文字列を切り取るという method である。 "true" は egrep コマンドの -i と同じで、大文字小文字を区別しない、 という意味である。 "e" で漢字コードを EUC jp に指定している。 実行方法はこちら

本日の講義 / 講義ノート / 教員トップページ