それ、実際に動かしてみた?「まっち」って表示される?
あと正規表現はリテラルで生成するのが普通だし
^ と $ の意味も間違って理解してるように見えるよ