楽しみながらゴルフを(いや正規表現を)学べるサイト「Regex Golf」を紹介します(Hacker News)。
条件に合うより良い正規表現を考えると、高いスコアををゲットすることができるゲームです。
遊んでみよう
画面左側で問題を選び、テキストボックスに正規表現を入力していくと採点されます。「Match all of these...」の下にある単語全てにマッチし、「and none of these」の下にある単語全てにマッチしない正規表現を考えます。
「fo」と入力すると左側には全てマッチしますが、右側で意図せずマッチしている単語があります(バツじるしの単語)。
「foo」に改善すると、バツが消えてスコアがアップしました。
このようにより少ない文字で条件を満たす正規表現を考えていきます。なぜゴルフか?というと少ない文字の正規表現のほうが良いスコアになるからでしょうか。
最初の問題は簡単ですけど、どんどん難しくなっていくので正規表現ハッカーの方はチャレンジしてみてください。