個人開発でよく使う「正規表現スニペット」便利まとめ

個人開発をしていると、毎回同じような正規表現を調べ直してしまうことがあります。
メール、URL、日付、数字抽出、空白削除など、典型的な処理はプロジェクトを跨いで何度も登場します。

この記事では、実際の個人開発で頻出する 「すぐに使える正規表現スニペット」 を用途別にまとめました。
JavaScript / TypeScript を前提にしていますが、ほとんどの言語で同じように使えます。

1. メールアドレス判定

厳密な RFC 準拠ではなく、実用レベルでのバランス版。

^[^\s@]+@[^\s@]+\.[^\s@]+$

利用例:

const isEmail = (value: string) => /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(value);

2. URL 判定(http/https)

^https?:\/\/[^\s/$.?#].[^\s]*$

過度に厳密すぎないため、実務上もっとも扱いやすいパターンです。

3. 数字のみ(整数)

^\d+$

負の数や浮動小数を許可するなら以下。

負の数・小数も許可

^-?\d+(\.\d+)?$

4. 空白をすべて削除

\s+

利用例:

value.replace(/\s+/g, "");

5. カンマ区切り数字(1,234,567)のフォーマット

カンマ除去

,/g

自動で 3 桁区切りにする

value.replace(/\B(?=(\d{3})+(?!\d))/g, ",");

6. 電話番号の基本チェック(日本)

携帯や固定電話のフォーマットを軽くチェックしたいとき。

^0\d{1,4}-?\d{1,4}-?\d{3,4}$

柔軟性が高く、実務で使い勝手が良いバランス型です。

7. 半角英数字のみ

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

ユーザーIDやパスワードのバリデーションでよく使用します。

8. 英数字 + 特定記号のみ許可

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

ファイル名、URL の slug、ユーザー名などに便利。

9. 日本語(ひらがな・カタカナ・漢字)のみ

^[\p{Hiragana}\p{Katakana}\p{Han}]+$

JavaScript では u フラグ必須。

/^[\p{Hiragana}\p{Katakana}\p{Han}]+$/u

10. ISO8601 日付(YYYY-MM-DD)

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

時間付きなら以下。

YYYY-MM-DDTHH:MM:SSZ

^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z$

11. ファイル拡張子の抽出

\.([0-9A-Za-z]+)$

利用例:

const ext = filename.match(/\.([0-9A-Za-z]+)$/)?.[1];

12. HTML タグの簡易除去

※完璧ではありませんが、軽く除去したい時に便利。

<[^>]+>

利用例:

text.replace(/<[^>]+>/g, "");

13. 重複する改行の統一

\n{2,}

複数行の空白を 1 行にまとめる用途。

text.replace(/\n{2,}/g, "\n");

14. 先頭と末尾の空白除去(trim 相当)

^\s+|\s+$

ほとんどの言語に trim はありますが、コアロジック内で使うケース用。

15. Markdown のリンク抽出

\[(.*?)\]\((.*?)\)

リンクテキストと URL を同時に抽出できます。

まとめ

個人開発の中で何度も調べ直す正規表現を、よくある利用シーンごとにまとめました。
特に以下の系統は頻出です。

  • バリデーション(メール、URL、数字、英数字)
  • テキスト加工(空白削除、改行整形)
  • パース(拡張子、Markdown、HTML)

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