正規表現を使ってモンスターを討伐していくゲーム「Regex Hunting」をプレイしてみた
さまざまな要素を含む文字列を1つの文字列で表現できる「正規表現」を、楽しみながら学んでいけるゲーム「Regex Hunting」が登場したので、実際にプレイしてみました。
Regex Hunting
https://www.regex-hunting.com/
サイトにアクセスしたら「Start」をクリック。
するとサイト下部へとスクロールし、3種類のクエストが表示されます。まずは初級編の「スタート」をクリック。
ゲーム開始前に、正規表現の説明をスライドで確認できるので、右下の三角アイコンをクリックするか、カーソルの右キーを押します。
説明の一例が「文字クラス」。[acz#]と表記すると「a」「c」「z」「#」のいずれか1文字にマッチします。アルファベットが連続しているようであれば[a-z]とすれば小文字のaからzまで、[B-X]なら大文字のBからXまでにマッチする、という風に、正規表現初心者でもわかりやすいチュートリアルがあります。
ゲーム自体は制限時間内に正しい正規表現を入力して敵を攻撃し、モンスターのHPを0にすればクリアというのが基本ルールです。「ゲームを始める」をクリックするとスタート。
出現したモンスターの下にHPと文字列が表示されているので、マッチするような正規表現を入力してエンターを押します。
薄青のハイライトがかかった文字列はマッチしたということ。攻撃成功で、モンスターにダメージを与えることができました。
ダメージを与えられなかった一例。「cat, can, cadにマッチする正規表現を入力せよ」という問題なのに「car」もマッチしているせいです。
不要な「car」を含まないように入力し直してモンスターにダメージを与えました。
無事撃破。「答えを確認する」をクリックすると正答例と解説が表示されます。
反復していけば、正規表現マスターになれる……はず。
実際にプレイしているところはこんな感じです。
遊びながら正規表現を学べる「Regex Hunting」をプレイしてみた - YouTube
なお、ログインして遊ぶとプレイ時間やクリア回数、最速タイムが記録されるほか、ランキング機能が利用可能となり、条件を満たすことで称号も得られます。
開発者のハガユウキさんによると「正規表現面白い!」と思ってもらうために作成したゲームで、さらなる正規表現の勉強をしたい場合には書籍「詳説 正規表現」がオススメだとのことです。
【個人開発】正規表現を学ぶ狩りに出ませんか?モンスターを倒しながら正規表現が学べるゲーム「Regex Hunting」を作りました - Qiita
https://qiita.com/yukiHaga/items/8ef2051036e126eb00c6
・関連記事
無料&登録不要で正規表現を図示してくれる「Regexper」を使ってみた - GIGAZINE
普通のパズルではない「正規表現クロスワード」がBBCラジオに登場 - GIGAZINE
アプリからファイアウォールにまで使われる正規表現を標的にした「ReDoS攻撃」とは? - GIGAZINE
・関連コンテンツ