今日とある場所で虫が入り込む瞬間を見た。虫といってもバグの方。それはプログラマ向けの Q&A サイトで始まった。質問の内容はこうだ。 文字列には0または4がだけが含まれる。文字列は 4 から始まり、例えば 440, 44, 40, 4400, 4440 など、これらは正しいとするが 404 は正しくない。今のところ、私は 0 の直後に 4 が現れるかどうかでチェックしている。これは果たして効率的だろうか。 始め僕はこの質問文をちゃんと読んでおらず、正規表現を使ってこれを実装した。 package main import ( "regexp" ) func check(s string) bool { return regexp.MustCompile(`^4+0*$`).MatchString(s) } func main() { for _, tt := range []string{"
![Big Sky :: 虫が入り込むその瞬間](https://cdn-ak-scissors.b.st-hatena.com/image/square/ae5f360d3c82cd87e23b34fb6f5013ab7cf0f1a6/height=288;version=1;width=512/https%3A%2F%2Fmattn.kaoriya.net%2Fimages%2Flogo.png)