2026.04.30正規表現とはTECH BLOG

正規表現をわかりやすく解説【実務で使えるパターン付き】

正規表現とは何か

正規表現とは、「文字列のパターン」を表現するためのルールです。
特定の形式に一致するかどうかを判定したり、文字列を検索・置換する際に使われます。

例えば、以下のような場面で利用されます。

  • メールアドレスの形式チェック
  • 電話番号の入力チェック
  • 特定の文字列の検索・置換

つまり、**「文字列のルールを定義してチェックする仕組み」**です。


よく使う基本パターン

まずは最低限これだけ覚えればOKです。

パターン 意味 マッチ例
. 任意の1文字 a.c abc, a9c
\d 数字 \d\d 12, 99
\w 英数字・アンダースコア \w+ abc_123
^ 行頭 ^abc abc123
$ 行末 abc$ 123abc

繰り返し

パターン 意味
* 0回以上 a*
+ 1回以上 a+
? 0回 or 1回 a?
{n} n回 \d{3}
{n,m} n〜m回 \d{2,4}

実務でよく使うパターン(+落とし穴)

数字のみ

^\d+$

→ 数字だけで構成されているかチェック


郵便番号(日本)

^\d{3}-\d{4}$

→ 例:123-4567


電話番号

^\d{2,4}-\d{2,4}-\d{4}$

→ 落とし穴

  • ハイフンなし(09012345678)に対応できない
  • 国番号(+81)にも対応できない

メールアドレス(簡易)

^\S+@\S+\.\S+$

→ 落とし穴

  • 完全なメール形式は正規表現だけで厳密にチェックできない
  • RFC準拠はかなり複雑になる

ひらがな

^[ぁ-ん]+$

カタカナ(全角)

^[ァ-ヶー]+$

カタカナ(半角含む)

^[ヲ-゚ァ-ヶー]+$

→ 落とし穴(日本語系)

  • 全角スペース( )が混ざると弾かれる
  • 濁点「゛」「゜」の扱いに注意
  • Unicode対応(uフラグ)が必要な場合あり

英数字のみ

^[A-Za-z0-9]+$

→ 落とし穴

  • 全角英数字(ABC123)は弾かれる
  • \wを使うと _(アンダースコア)も含まれる

JavaScript / PHPでの使用例

JavaScript

const regex = /^\d+$/;

console.log(regex.test("123")); // true
console.log(regex.test("abc")); // false

PHP

$value = "123";

if (preg_match('/^\d+$/', $value)) {
    echo "OK";
} else {
    echo "NG";
}