JavaScript | 正規表現ステップアップ練習

JavaScript JavaScript
スポンサーリンク

では、初心者が手を動かしながら正規表現を学べるミニ課題集(全10問)を作り、それぞれステップごとに解説します。


問題1:数字だけの文字列かチェック

  • 条件:文字列が 1桁以上の数字だけ で構成されているか
  • ヒント:\d+ を使う

問題2:英単語かチェック

  • 条件:文字列が アルファベットだけ で構成されているか
  • ヒント:[a-zA-Z]+ を使う

問題3:英数字だけかチェック

  • 条件:文字列が アルファベットと数字のみ
  • ヒント:[a-zA-Z0-9]+ を使う

問題4:3桁の数字かチェック

  • 条件:文字列が 3桁の数字だけ
  • ヒント:\d{3} を使う

問題5:メールアドレス形式(簡易版)かチェック

  • 条件:ユーザー名@ドメイン 形式
  • ヒント:\w+@[a-zA-Z]+\.[a-zA-Z]+ を使う

問題6:電話番号形式(例:090-1234-5678)かチェック

  • 条件:3桁-4桁-4桁 の数字形式
  • ヒント:\d{3}-\d{4}-\d{4} を使う

問題7:URL形式(http/https)かチェック

  • 条件:http:// または https:// で始まるURL
  • ヒント:^https?:\/\/[a-zA-Z0-9.-]+(\.[a-zA-Z]+)+$ を使う

問題8:ハイフンやスペースを含む名前かチェック

  • 条件:アルファベットと ハイフン・スペースだけ
  • ヒント:[a-zA-Z -]+ を使う

問題9:各行が数字だけかチェック(複数行対応)

  • 条件:複数行の文字列で、各行が数字だけ
  • ヒント:^\d+$m フラグ

問題10:文字列に数字とアルファベットが混ざっているかチェック

  • 条件:英数字のみ で構成されているか
  • ヒント:[a-zA-Z0-9]+ を使う

解答とステップ解説

問題1

/^\d+$/
JavaScript
  • \d → 数字
  • + → 1回以上繰り返す
  • ^$ → 文字列全体を対象

問題2

/^[a-zA-Z]+$/
JavaScript
  • [a-zA-Z] → アルファベット
  • + → 1回以上繰り返す

問題3

/^[a-zA-Z0-9]+$/
JavaScript
  • [a-zA-Z0-9] → 英数字

問題4

/^\d{3}$/
JavaScript
  • {3} → 3回繰り返す

問題5

/^\w+@[a-zA-Z]+\.[a-zA-Z]+$/
JavaScript
  • \w → 英数字とアンダースコア
  • + → 1回以上
  • @. → 文字通り

問題6

/^\d{3}-\d{4}-\d{4}$/
JavaScript
  • \d{3} → 3桁
  • \d{4} → 4桁
  • - → 文字通り

問題7

/^https?:\/\/[a-zA-Z0-9.-]+(\.[a-zA-Z]+)+$/
JavaScript
  • s? → s があってもなくてもよい
  • \. → ドット
  • ()+ → グループ化と繰り返し

問題8

/^[a-zA-Z -]+$/
JavaScript
  • [a-zA-Z -] → アルファベット、スペース、ハイフン
  • + → 1文字以上

問題9

/^\d+$/gm
JavaScript
  • g → すべてのマッチ
  • m → 複数行モード
  • ^\d+$ → 1行ごとの数字チェック

問題10

/^[a-zA-Z0-9]+$/
JavaScript
  • [a-zA-Z0-9] → 英数字のみ
  • + → 1文字以上

💡 まとめ

  • 正規表現は「文字列のパターンを簡単にチェック」できる
  • ^$ → 全体を対象
  • \d, \w, [a-zA-Z] など → 文字クラス
  • +, {n}, ?, () → 繰り返しやグループ化
  • gm → フラグで動作を変える

See the Pen Regular Expression Exercises by MONO365 -Color your days- (@monoqlo365) on CodePen.

タイトルとURLをコピーしました