Javaの正規表現で「数字」や「英字」だけをチェックする方法を初心者向けに完全解説
生徒
「Javaで、入力された文字が数字だけか、英字だけかをチェックしたいんですが、どうやるんですか?」
先生
「その場合は、Javaの正規表現を使うと簡単に判定できます。数字専用、英字専用のルールを書くことができます。」
生徒
「正規表現って難しそうなイメージがあります……」
先生
「基本のパターンだけ覚えれば大丈夫です。特に数字と英字のチェックは、初心者が最初に学ぶ内容です。」
生徒
「実際のJavaコードも見ながら学びたいです。」
先生
「それでは、Javaの正規表現で数字や英字をチェックする方法を順番に見ていきましょう。」
1. Javaで数字や英字をチェックする場面とは
Javaでアプリケーションを作っていると、入力チェックが必要になる場面が多くあります。 たとえば、ユーザーIDが英字だけか、年齢が数字だけか、といった判定です。 こうした入力チェックを行う際に、正規表現は非常に役立ちます。
正規表現を使わずにチェックしようとすると、一文字ずつ処理を書く必要があります。 しかし、Javaの正規表現を使えば、短いルールを書くことで一括判定が可能です。 初心者にとっても、考え方を覚えると非常に便利な技術になります。
2. 正規表現で「数字だけ」を表す基本ルール
正規表現では、数字を表すための専用の記号が用意されています。 Javaの正規表現では、数字を表す基本的なルールとして「0から9」が使われます。 これを組み合わせることで、「数字だけで構成された文字列」を判定できます。
数字だけをチェックする場合、「最初から最後まで数字であること」を指定するのがポイントです。 これにより、途中に文字や記号が混ざるのを防げます。
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class NumberOnlyCheckExample {
public static void main(String[] args) {
String input = "12345";
Pattern pattern = Pattern.compile("^[0-9]+$");
Matcher matcher = pattern.matcher(input);
System.out.println(matcher.matches());
}
}
true
3. 数字チェックでよくある注意点
Javaの正規表現で数字チェックを行う際に注意したいのは、 空文字や記号が混ざった場合です。 正規表現では、条件に完全一致しているかどうかをしっかり指定する必要があります。
特に入力フォームなどでは、数字だけのつもりでも、 全角文字や空白が混ざるケースがあります。 正規表現を使うことで、こうした想定外の入力もまとめて防げます。
4. 正規表現で「英字だけ」をチェックする方法
次に、英字だけで構成されているかをチェックする方法を見ていきます。 Javaの正規表現では、アルファベットを表すために専用の範囲指定が使われます。 大文字と小文字を含めることで、英字全体を判定できます。
英字チェックは、ユーザー名やコード入力の判定などでよく使われます。 Java初心者にとっても、覚えておくと実務で役立つパターンです。
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class AlphabetOnlyCheckExample {
public static void main(String[] args) {
String input = "JavaABC";
Pattern pattern = Pattern.compile("^[A-Za-z]+$");
Matcher matcher = pattern.matcher(input);
System.out.println(matcher.matches());
}
}
true
5. 英字チェックで失敗しやすいポイント
英字チェックでよくあるミスは、数字や記号が混ざってしまうケースです。 正規表現でしっかりルールを書いていないと、 意図しない文字列まで通してしまうことがあります。
Javaの正規表現では、条件を明確に指定することで、 英字のみを厳密にチェックできます。 初心者のうちは、実際に動かして結果を確認しながら学ぶのがおすすめです。
6. 数字と英字の両方をチェックしたい場合
実際のJavaプログラムでは、数字と英字の両方を許可したい場合もあります。 たとえば、英数字のユーザーIDやパスワードです。 正規表現では、複数の条件を組み合わせて指定できます。
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class AlphaNumericCheckExample {
public static void main(String[] args) {
String input = "Java123";
Pattern pattern = Pattern.compile("^[A-Za-z0-9]+$");
Matcher matcher = pattern.matcher(input);
System.out.println(matcher.matches());
}
}
true
このように、Javaの正規表現を使えば、 数字と英字の組み合わせも簡単にチェックできます。 条件を変えるだけで、さまざまな入力チェックに応用できます。
7. Java初心者が正規表現チェックを学ぶメリット
Javaの正規表現で数字や英字をチェックできるようになると、 入力チェックのコードが一気にシンプルになります。 長い条件分岐を書かなくても、短いルールで判定できます。
また、正規表現はJava以外の言語でも共通して使われる考え方です。 ここで基本を理解しておくと、他の技術を学ぶときにも役立ちます。 初心者のうちから正規表現に慣れておくことは、大きなメリットになります。