カテゴリ: Javaの正規表現 更新日: 2026/02/09

Javaの正規表現でメールアドレスの形式をチェックする方法を初心者向けに完全解説

389
Java の正規表現で「メールアドレス」の形式をチェックする方法

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

生徒

「Javaでユーザー登録を作ろうとしたら、メールアドレスの形式チェックが必要になりました……どうやって判定すればいいんですか?」

先生

「その場合は、Javaの正規表現を使うと、メールアドレスの形かどうかをまとめてチェックできます。」

生徒

「正規表現って、記号が多くて難しそうなイメージがあります……」

先生

「メールアドレス用の基本パターンから覚えれば大丈夫です。考え方を順番に見ていきましょう。」

生徒

「初心者でも使えるレベルの方法が知りたいです!」

先生

「では、Javaの正規表現でメールアドレスをチェックする方法を、基礎から説明していきます。」

1. Javaでメールアドレス形式チェックが必要な理由

1. Javaでメールアドレス形式チェックが必要な理由
1. Javaでメールアドレス形式チェックが必要な理由

JavaでWebアプリケーションや業務システムを作成すると、 メールアドレスの入力チェックが必要になる場面が非常に多くあります。 ユーザー登録、問い合わせフォーム、通知設定など、メールアドレスは頻繁に登場します。

もし形式チェックを行わずに処理を進めると、 「@が入っていない」「ドメインがない」など、 明らかに不正な文字列でも登録できてしまいます。 こうした問題を防ぐために、正規表現によるチェックが重要になります。

2. メールアドレスの基本的な構造を理解しよう

2. メールアドレスの基本的な構造を理解しよう
2. メールアドレスの基本的な構造を理解しよう

正規表現を書く前に、メールアドレスの基本構造を理解しておくことが大切です。 一般的なメールアドレスは、「ユーザー名」「@」「ドメイン名」で構成されています。

たとえば、user@example.com のように、 @の前後に文字列があり、ドメインにはドットが含まれるのが基本形です。 Javaの正規表現では、この構造をルールとして表現します。

3. Javaの正規表現でメールアドレスをチェックする考え方

3. Javaの正規表現でメールアドレスをチェックする考え方
3. Javaの正規表現でメールアドレスをチェックする考え方

Javaの正規表現では、「この文字が使える」「この形で並んでいる」という条件を指定します。 メールアドレスの場合は、英字・数字・記号の組み合わせと、 @やドットの位置関係をルールとして表します。

完璧なメールアドレス仕様をすべて網羅する正規表現は非常に複雑になります。 初心者のうちは、「一般的な形式かどうか」をチェックする実用的な正規表現を使うのがおすすめです。

Javaをこれから始める人や、 オブジェクト指向の考え方を基礎から理解したい人には、 定番の入門書がこちらです。

スッキリわかるJava入門 第4版をAmazonで見る

※ Amazon広告リンク

4. 基本的なメールアドレスチェック用の正規表現

4. 基本的なメールアドレスチェック用の正規表現
4. 基本的なメールアドレスチェック用の正規表現

Java初心者向けに、まずは分かりやすいメールアドレス用の正規表現を紹介します。 このパターンは、多くの場面で使われている基本形です。


import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class EmailCheckBasicExample {
    public static void main(String[] args) {
        String email = "test@example.com";
        Pattern pattern = Pattern.compile("^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}$");
        Matcher matcher = pattern.matcher(email);

        System.out.println(matcher.matches());
    }
}

true

この正規表現では、「@が1つ含まれていること」「ドメインにドットが含まれていること」などをチェックしています。 実務でもよく使われる、初心者向けのメールアドレス判定方法です。

5. 正規表現の各部分をやさしく分解して理解する

5. 正規表現の各部分をやさしく分解して理解する
5. 正規表現の各部分をやさしく分解して理解する

正規表現は一見すると難しく見えますが、部分ごとに見ると意味が分かります。 英字や数字を表す部分、@を表す部分、ドメイン部分などが組み合わさっています。

Java初心者は、「メールアドレス全体を一度に理解しよう」とせず、 「この部分はユーザー名」「ここはドメイン」と分けて考えるのがコツです。 そうすることで、正規表現への苦手意識が減っていきます。

6. 不正なメールアドレスをチェックしてみる

6. 不正なメールアドレスをチェックしてみる
6. 不正なメールアドレスをチェックしてみる

正規表現が正しく動いているかを確認するために、 不正なメールアドレスを使った例も見てみましょう。 これにより、形式チェックの効果が分かりやすくなります。


import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class EmailCheckInvalidExample {
    public static void main(String[] args) {
        String email = "testexample.com";
        Pattern pattern = Pattern.compile("^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}$");
        Matcher matcher = pattern.matcher(email);

        System.out.println(matcher.matches());
    }
}

false

@が含まれていないため、正規表現に一致せず false になります。 このように、Javaの正規表現を使うことで、不正な形式を確実に弾くことができます。

7. メールアドレスチェックでよくある注意点

7. メールアドレスチェックでよくある注意点
7. メールアドレスチェックでよくある注意点

メールアドレスの仕様は非常に幅広く、 実際にはかなり複雑なルールが存在します。 そのため、正規表現ですべてを完全に判定しようとすると難しくなります。

Java初心者の場合は、「一般的な形式かどうか」をチェックするだけで十分なケースがほとんどです。 厳密なチェックが必要な場合は、用途に応じて正規表現を調整する考え方が大切です。

8. Java初心者が正規表現でメールチェックを学ぶメリット

8. Java初心者が正規表現でメールチェックを学ぶメリット
8. Java初心者が正規表現でメールチェックを学ぶメリット

Javaの正規表現でメールアドレスをチェックできるようになると、 入力チェック処理が一気にシンプルになります。 長い条件分岐を書かずに、短いルールで判定できる点が大きなメリットです。

また、正規表現の考え方はJava以外の言語でも共通しています。 ここで基礎を身につけておくことで、 今後のプログラミング学習でも役立つ知識になります。

Javaの正規表現の一覧へ
新着記事
Flutterアプリの署名設定(Android・iOSのポイント)
Flutterアプリの署名設定を完全解説!Android・iOSのビルドとデプロイ初心者ガイド
Java のインターフェースとは?普通のクラスとの違いを学ぼう
Javaのインターフェースとは?普通のクラスとの違いを学ぼう【初心者向け解説】
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
EC2の料金体系を完全解説!オンデマンド・リザーブド・無料枠の違いとは?
EC2の料金体系を完全解説!オンデマンド・リザーブド・無料枠の違いとは?
人気記事
インスタンスタイプの料金比較と最適な選び方(最新2025年版)
AWSのインスタンスタイプの料金比較と最適な選び方【2025年最新版】
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク