電話番号の正規表現を作成する
このステップでは、正規表現 (Regex) について学び、電話番号に一致する正規表現を作成する方法を説明します。正規表現は、文字列内のパターンマッチングに使用される強力なツールです。テキストパターンを記述するための特別な言語のようなものです。
なぜ電話番号に正規表現が必要なのでしょうか?電話番号はさまざまな形式で表されます(例:123-456-7890
、(123) 456-7890
、123.456.7890
)。正規表現を使用することで、これらすべてのバリエーションに一致するパターンを定義することができます。
正規表現を使用して文字列が電話番号のように見えるかどうかをチェックする簡単な Java プログラムを作成しましょう。
-
WebIDE エディタで HelloJava.java
ファイルが開いていない場合は、開きます。
-
ファイルの内容全体を次のコードに置き換えます。
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class HelloJava {
public static void main(String[] args) {
String phoneNumber = "123-456-7890"; // チェックする文字列
String regex = "\\d{3}-\\d{3}-\\d{4}"; // 正規表現パターン
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(phoneNumber);
boolean isMatch = matcher.matches();
if (isMatch) {
System.out.println(phoneNumber + " is a valid phone number format.");
} else {
System.out.println(phoneNumber + " is not a valid phone number format.");
}
}
}
このコードの新しい部分を見てみましょう。
import java.util.regex.Matcher;
と import java.util.regex.Pattern;
:これらの行は、Java で正規表現を扱うために必要なクラスをインポートします。
String phoneNumber = "123-456-7890";
:これはテストしたい文字列です。
String regex = "\\d{3}-\\d{3}-\\d{4}";
:これが最初の正規表現パターンです。分解して説明しましょう。
\\d
:任意の数字 (0 - 9) に一致します。Java 文字列では \
が特殊文字なので、\\
としてエスケープする必要があります。
{3}
:直前の要素を正確に 3 回一致させます。
-
:ハイフン文字そのものに一致します。
- したがって、
\\d{3}-\\d{3}-\\d{4}
は、3 桁の数字、ハイフン、3 桁の数字、ハイフン、4 桁の数字に一致します。
Pattern pattern = Pattern.compile(regex);
:これは正規表現文字列を Pattern
オブジェクトにコンパイルします。これにより、繰り返しのマッチングが効率的になります。
Matcher matcher = pattern.matcher(phoneNumber);
:これは、コンパイルされた pattern
を使用して phoneNumber
文字列に対してマッチング操作を行う Matcher
オブジェクトを作成します。
boolean isMatch = matcher.matches();
:これは、入力文字列 (phoneNumber
) 全体をパターンに一致させようとします。文字列全体が一致する場合は true
を返し、そうでない場合は false
を返します。
if
と else
ブロックは、文字列がパターンに一致したかどうかに基づいてメッセージを出力します。
-
ファイルを保存します(Ctrl + S または Cmd + S)。
-
ターミナルでプログラムをコンパイルします。
javac HelloJava.java
エラーがなければ、HelloJava.class
ファイルが作成されます。
-
コンパイルされたプログラムを実行します。
java HelloJava
出力には、簡単な正規表現によると "123-456-7890" が有効な電話番号形式であることが表示されるはずです。
このステップでは、Java で正規表現を使用する基本を学び、特定の電話番号形式に一致する簡単なパターンを作成しました。次のステップでは、正規表現をより柔軟にして、さまざまな形式を扱えるようにします。