wifky の文法のパーサーを Go で書くにあたって、Perl にあった。 sub unverb{ ${$_[0]} =~ s/\a\((\d+)\)/&unverb_sub($1)/ge; } という書き方がネックになっていた。置換コマンド s は e というオプションを指定することで、置換結果をコードで指定することができる。それに相当する関数は Go標準ライブラリ "regexp" にもあるが、サブグループまで得るものはなかったのだ。 一旦 Go は断念して、しばらく Perl や PowerShell でいろいろ書いていたのだが、そちらはそちらでたいへんだったので、意を決して Go で…