正規表現の勉強にオススメ!「Regex Hunting」の紹介
※本ページはプロモーションが含まれています個人的にプログラミングをする上で、正規表現が苦手です。
自分でプログラミングをしていると、正規表現が必要になる時が少なく「一度なんとなく覚えても次に必要になるときには忘れている。」ということを繰り返しています。
複雑な正規表現だと、ネット上のコードをコピペしたり少し改変することで「一応期待通りの結果が出るが、なぜマッチするかわからない」ということも繰り返しています。
ちゃんと学ぼうにも、ドキュメントを読んでいるだけだと「ふーん」とうなずいているだけで、その知識を使って実際に正規表現を書く技術は身につきません。
そこでオススメなのが「Regex Hunting」という、PCのChromeで動作する正規表現ゲームです。
正規表現に関する問題が出題され、その条件に合う正規表現を入力し、正解ならモンスタlーのHPを削ることができ、モンスターを倒したらクリアというゲームです。
遊び方
「Regex Hunting」にアクセスし、一番下にスクロールするとゲームをスタートできます。自分がプレイしたい難易度の「スタート」をクリック。
チュートリアル
ゲームをスタートすると、その難易度で出てくる正規表現の解説が始まります。解説無しでスタートするには「スライドを見ずに始める」をクリック。解説を読むなら→キーか画面下の右三角をクリックして進んでいきます。
簡潔な説明が続き、比較的分かりやすいです。
解説とゲームの説明が終わったら「ゲームを始める」をクリックするとゲームがスタートします。
ゲームの注意点
ゲームをプレイする上で、チュートリアルで説明されていなかった注意点を紹介します。
入力のカーソル移動はできない
入力カーソルの移動は2022年4月27日時点でできません。
僕はカッコを先に入力し←でカッコの中に移動して入力したい派なのですが、その入力はできません。
現在対応中とのことなので、そのうち改善されるかもしれないです。
カッコ入力をミスって入力に手まどい、タイムオーバーがよくありますw
Chromeを使う
Chrome系のブラウザならイケるかと思いましたが、Vivaldiだとバックスペースを押して文字を消そうとするとブラウザバックしてしまいます。
Google Chromeなら普通に動作していたので、Google Chromeを使うのが確実です。
解答の確認の方法
模範解答は、ゲーム終了後の画面で確認できます。
リザルト画面の「答えを確認する」をクリックすると、自分の回答と模範解答を比較してみることができます。
おわりに
正規表現を学ぶには、自分で考えて正規表現を組むのが良いのですが、それで本当に合っているのか?が分かりづらいです。
「Regex Hunting」なら、「正規表現を作成」→「その合否」がすぐに分かり、そのサイクルを続けることで正規表現に対する理解と苦手意識の克服に繋がると思います。
個人的には制限時間無しでじっくり考えたいのですが、一応ゲームと謳っているのでしょうがないですかね。
問題認識と入力に時間がかかるので、中級で苦戦していますw