>>645
デザインパターン以前に正規表現に対する理解が不足してるように思われる

正規表現は式からオートマトンを生成して
オートマトンに文字列を入力してオートマトンが終端状態に達するか確認するものなんよ

よって作成するオブジェクトはオートマトンを内部に保持するものだよ

こんな感じ
re = Regexp.Compile(expression)

使うときはこんな感じ
re.Replace(source, destination)

式が固定ならオートマトンオブジェクトを使い回すことで式からオートマトンを生成する処理を減らせる
直感的で性能の良いオブジェクトのできあがり