個人開発をしていると、毎回同じような正規表現を調べ直してしまうことがあります。
メール、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)

