先ほどの 10問の練習問題を実際に試せるサンプルコード集 にまとめます。
これをコピーしてブラウザのコンソールや Node.js で実行すると、正規表現の挙動を確認できます。
正規表現演習サンプルコード集(初心者向け)
// ===== 問題1: 数字だけ =====
console.log("問題1");
let reg1 = /^\d+$/;
console.log(reg1.test("12345")); // true
console.log(reg1.test("123a")); // false
// ===== 問題2: 英単語だけ =====
console.log("\n問題2");
let reg2 = /^[a-zA-Z]+$/;
console.log(reg2.test("Hello")); // true
console.log(reg2.test("Hello123")); // false
// ===== 問題3: 英数字だけ =====
console.log("\n問題3");
let reg3 = /^[a-zA-Z0-9]+$/;
console.log(reg3.test("abc123")); // true
console.log(reg3.test("abc_123")); // false
// ===== 問題4: 3桁の数字 =====
console.log("\n問題4");
let reg4 = /^\d{3}$/;
console.log(reg4.test("123")); // true
console.log(reg4.test("12")); // false
// ===== 問題5: メール形式(簡易版) =====
console.log("\n問題5");
let reg5 = /^\w+@[a-zA-Z]+\.[a-zA-Z]+$/;
console.log(reg5.test("test@example.com")); // true
console.log(reg5.test("user@domain")); // false
// ===== 問題6: 電話番号形式 =====
console.log("\n問題6");
let reg6 = /^\d{3}-\d{4}-\d{4}$/;
console.log(reg6.test("090-1234-5678")); // true
console.log(reg6.test("09012345678")); // false
// ===== 問題7: URL形式(http/https) =====
console.log("\n問題7");
let reg7 = /^https?:\/\/[a-zA-Z0-9.-]+(\.[a-zA-Z]+)+$/;
console.log(reg7.test("http://example.com")); // true
console.log(reg7.test("ftp://example.com")); // false
// ===== 問題8: ハイフンやスペースを含む名前 =====
console.log("\n問題8");
let reg8 = /^[a-zA-Z -]+$/;
console.log(reg8.test("John Doe")); // true
console.log(reg8.test("Mary-Jane")); // true
console.log(reg8.test("Alice123")); // false
// ===== 問題9: 複数行の各行が数字だけ =====
console.log("\n問題9");
let str9 = `123
456
789`;
let reg9 = /^\d+$/gm;
console.log(str9.match(reg9)); // ['123','456','789']
// ===== 問題10: 英数字のみ =====
console.log("\n問題10");
let reg10 = /^[a-zA-Z0-9]+$/;
console.log(reg10.test("abc123")); // true
console.log(reg10.test("abc!")); // false
JavaScript💡 使い方のポイント
- 各問題ごとに
console.logで番号を表示 test→ 真偽値(true/false)でマッチ判定match→ マッチした文字列を配列で取得(複数行や g フラグ付きで便利)- 自分で文字列を変更して、正規表現の挙動を確認すると理解が深まる
