Rubyで正規表現
昨日は
「Rubyを使って正規表現でマッチした語句があればそれを連想配列を使って対応する文字列に書き換える」
という処理をプログラムを書いてみました。
"ProjectName", "author","date"
という三つの単語をそれぞれ書き換えます。
#!/usr/bin/ruby =begin $ProjectName$ =end class TextValue # class's member TABLE = { "ProjectName"=>"AAA", "author"=>"bulldog", "date"=>Time.now.strftime("%Y-%m-%d")} end =begin author = $author$ date : $date$ =end begin # プロジェクト名の書き換え TextValue::TABLE["ProjectName"] = ARGV[1] # ファイルの読み込み tmp = open(ARGV[1]) while line = tmp.gets() # 指定されている文字列なら書き換え if /\$(\w*)\$/ =~ line then #print TextValue::TABLE[$1] + "\n" print line.gsub(/\$(\w*)\$/, TextValue::TABLE[$1]) else print line end end tmp.close end