カテゴリ: JavaScript 更新日: 2026/07/09

JavaScriptの正規表現入門!初心者でもわかる基本の使い方と活用例

JavaScriptの正規表現の基本!最初に知っておくべきポイント
JavaScriptの正規表現の基本!最初に知っておくべきポイント

先生と生徒の会話形式で理解しよう

生徒

「先生、JavaScriptで文字のパターンを探したり、置き換えたりする方法ってありますか?」

先生

「あります。それが『正規表現』です。文字列の中から特定の文字やパターンを効率よく検索・操作できる便利な仕組みです。」

生徒

「正規表現って聞くと難しそうですが、初心者でも使えるんですか?」

先生

「もちろんです。基本を押さえれば簡単に使えます。まずはパターンの書き方や検索方法から見ていきましょう。」

1. 正規表現とは?

1. 正規表現とは?
1. 正規表現とは?

正規表現とは、文字列の中で「この文字やパターンを探してください」と指示する方法です。英語では Regular Expression と呼ばれ、略して RegExp とも書きます。例えば、「電話番号の形式だけを見つけたい」や「メールアドレスが正しいか確認したい」ときに使います。

JavaScriptでは、正規表現は /パターン/フラグ という形で書きます。


const pattern = /abc/;
console.log(pattern.test("abcdef")); // true

この例では「abc」という文字が含まれているかどうかをチェックしています。

2. testメソッドで文字列を検索する

2. testメソッドで文字列を検索する
2. testメソッドで文字列を検索する

正規表現には test メソッドがあり、文字列にパターンが含まれているかどうかを判定できます。結果は truefalse で返ってきます。


const regex = /hello/;
console.log(regex.test("hello world")); // true
console.log(regex.test("goodbye"));     // false

このように、一度覚えると簡単に文字列の中身をチェックできるようになります。

3. matchメソッドで一致部分を取得する

3. matchメソッドで一致部分を取得する
3. matchメソッドで一致部分を取得する

文字列の中で正規表現に一致した部分を取得したい場合は match メソッドを使います。


const text = "今日の天気は晴れです。明日は雨かもしれません。";
const result = text.match(/晴れ|雨/g);
console.log(result); // ["晴れ", "雨"]

この例では「晴れ」か「雨」にマッチする文字列を配列で取得しています。フラグの g は全ての一致を探す意味です。

4. replaceメソッドで文字列を置き換える

4. replaceメソッドで文字列を置き換える
4. replaceメソッドで文字列を置き換える

正規表現を使うと、文字列の置き換えも簡単です。replace メソッドを使いましょう。


let text = "私は猫が好きです。猫はかわいい。";
text = text.replace(/猫/g, "犬");
console.log(text); // 私は犬が好きです。犬はかわいい。

「猫」を「犬」にすべて置き換えることができました。こちらも g フラグで全て置き換えが可能です。

5. フラグの意味を理解しよう

5. フラグの意味を理解しよう
5. フラグの意味を理解しよう

正規表現にはいくつかフラグがあります。代表的なものは次の通りです。

  • g - グローバル検索(すべての一致を検索)
  • i - 大文字小文字を区別せず検索
  • m - 複数行モードで検索

const regex = /javascript/i;
console.log(regex.test("I love JavaScript")); // true

大文字と小文字を区別せずに「javascript」を検索しています。

6. 文字クラスを使って便利に検索

6. 文字クラスを使って便利に検索
6. 文字クラスを使って便利に検索

正規表現では特定の文字の集合を [] で指定できます。これを文字クラスと呼びます。


const regex = /[aiueo]/g;
const text = "こんにちは、世界!";
console.log(text.match(regex)); // ["お","い","あ","う"]

母音だけを抽出することもできます。文字クラスは検索の幅を広げる便利な機能です。

7. 簡単な応用例:数字だけを抽出する

7. 簡単な応用例:数字だけを抽出する
7. 簡単な応用例:数字だけを抽出する

数字だけを取り出すときは \d を使います。これは数字を意味する特殊文字です。


const str = "電話番号は090-1234-5678です。";
const numbers = str.match(/\d+/g);
console.log(numbers); // ["090", "1234", "5678"]

このように簡単に文字列から数字を抽出することができます。

8. 正規表現で覚えておくべき特殊文字

8. 正規表現で覚えておくべき特殊文字
8. 正規表現で覚えておくべき特殊文字

正規表現には覚えておきたい特殊文字があります。

  • . - 任意の1文字
  • * - 直前の文字の0回以上の繰り返し
  • + - 直前の文字の1回以上の繰り返し
  • ? - 直前の文字の0回または1回
  • ^ - 行の先頭
  • $ - 行の末尾

const str = "abc abc abc";
const result = str.replace(/abc/g, "123");
console.log(result); // 123 123 123

基本を押さえるだけでも多くの文字列操作に役立ちます。

9. 練習して覚えるのが近道

9. 練習して覚えるのが近道
9. 練習して覚えるのが近道

正規表現は最初は難しく感じますが、簡単な検索や置き換えの例から練習するとすぐに慣れます。まずは testmatchreplace の3つをマスターすることが大切です。


const email = "test@example.com";
const isValid = /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email);
console.log(isValid); // true

このようにメールアドレスの簡単な形式チェックも可能です。練習を重ねて、自分でパターンを作れるようになりましょう。

まとめ

まとめ
まとめ

ここまで、JavaScriptの正規表現について基礎から応用まで解説してきました。正規表現は文字列を検索・抽出・置換する際に非常に便利なツールで、RegExpオブジェクトとして扱います。testメソッドを使えば文字列に特定のパターンが含まれているかを簡単に判定でき、matchメソッドで一致した文字列を配列で取得することができます。さらにreplaceメソッドを使えば文字列の置換も自由自在に行えます。フラグを活用すれば、大文字小文字の区別を無くした検索や、複数行に対応した検索、すべての一致部分の抽出も可能です。また、文字クラスや特殊文字を覚えることで、より柔軟で複雑なパターンを扱えるようになります。正規表現は最初は難しく感じますが、繰り返し練習することで自然に使いこなせるようになり、メールアドレスや電話番号の形式チェック、数字だけの抽出、文字置換など実用的な処理も簡単に行えるようになります。

サンプルまとめプログラム

 // 文字列チェック const text = "今日は晴れです。明日は雨かもしれません。"; const weather = text.match(/晴れ|雨/g); console.log(weather); // ["晴れ", "雨"]
// 文字置換
let pet = "私は猫が好きです。猫はかわいい。";
pet = pet.replace(/猫/g, "犬");
console.log(pet); // 私は犬が好きです。犬はかわいい。

// メールアドレス形式チェック
const email = "user@example.com";
const isValidEmail = /^[^\s@]+@[^\s@]+.[^\s@]+$/.test(email);
console.log(isValidEmail); // true

// 数字抽出
const str = "電話番号は090-1234-5678です。";
const numbers = str.match(/\d+/g);
console.log(numbers); // ["090","1234","5678"]
先生と生徒の振り返り会話

生徒

「先生、正規表現って最初は複雑そうに見えましたけど、こうしてまとめて見ると基本はシンプルなんですね。」

先生

「その通りです。testmatchreplace の3つを押さえれば、日常の文字列処理には十分対応できます。」

生徒

「文字クラスや特殊文字も使えば、もっと細かくパターンを指定できるんですね。」

先生

「そうです。例えば数字だけを抽出したり、母音だけを取り出すといった操作も簡単になります。最初は簡単なパターンから練習して、慣れてきたら応用していくのが近道です。」

生徒

「なるほど、フラグを使うことで大文字小文字の区別を無くしたり、全ての一致を取得したりできるのも便利ですね。」

先生

「その通りです。フラグを上手に使うことで、正規表現はさらに強力になります。練習を重ねることで、自分で複雑なパターンを作れるようになります。」

生徒

「今日学んだことを日々のプログラムに活かして、文字列操作をもっと効率よくできるように頑張ります。」

先生

「それでいいです。正規表現は使いこなせると本当に便利ですし、JavaScriptでの文字列処理の幅が広がります。まずは簡単な例からコツコツ練習して、自信をつけていきましょう。」

カテゴリの一覧へ
新着記事
New1
JavaScript
JavaScriptのスコープとは?ローカル変数・グローバル変数の違いと使い分け
New2
TypeScript
TypeScriptで型の合成時に発生する型エラーの対処法を徹底解説!初心者にもわかりやすく解説
New3
TypeScript
TypeScriptでAPI呼び出しをラップするユーティリティ関数の設計完全ガイド!初心者向けにAxiosやFetchの使い方を解説
New4
TypeScript
TypeScriptのMapped Typesとインターフェースの連携方法を徹底解説!初心者でも理解できる型変換の基本
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptのループで無限ループが起きる原因と対策を初心者向けに徹底解説!
No.2
Java&Spring記事人気No2
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.3
Java&Spring記事人気No3
JavaScript
JavaScriptの文字列の長さを取得する(lengthプロパティ)
No.4
Java&Spring記事人気No4
TypeScript
TypeScriptのファイル分割とimport/exportの基本を徹底解説!初心者でも安心のやさしい入門
No.5
Java&Spring記事人気No5
TypeScript
TypeScriptでコメントを書く正しい書き方と使い分け【初心者向けにやさしく解説】
No.6
Java&Spring記事人気No6
TypeScript
TypeScriptの始め方:開発環境の構築手順【初心者向け】
No.7
Java&Spring記事人気No7
JavaScript
JavaScriptのプリミティブ型と参照型の違いを初心者向けに解説
No.8
Java&Spring記事人気No8
TypeScript
TypeScriptでパスエイリアスを設定する方法!baseUrlとpathsでコードをスッキリ整理