#!/usr/bin/env ruby -Ke def gengo2seireki(str) h = {"m"=>1867, "t"=>1911, "s"=>1925, "h"=>1988, "明治"=>1867, "大正"=>1911, "昭和"=>1925, "平成"=>1988} p h.keys.join('|') if /^(#{h.keys.join('|')}])(\d{1,2})/i =~ str h[Regexp.last_match[1].downcase] + Regexp.last_match[2].to_i end end p gengo2seireki("昭和20") => 1945