Pattern.matchesメソッドを使用して、正規表現と指定された文字列が一致するかどうかの検証( バリデーション )を行う方法を解説します。
構文
Pattern.matches(String regex, CharSequence str)
第1引数 – regex: 正規表現
第2引数 – str: 検証文字列
戻り値 – 真偽値( true / false )
サンプルプログラム
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String regex = "^[a-zA-Z]+$"; // 1文字以上の半角英字
String str = "abcde";
if(Pattern.matches(regex, str)) { // true
System.out.println(str + "は半角英字です。");
} else {
System.out.println(str + "は半角英字ではありません。");
}
str = "abcde12345";
if(Pattern.matches(regex, str)) { // false
System.out.println(str + "は半角英字です。");
} else {
System.out.println(str + "は半角英字ではありません。");
}
}
}
■出力結果
abcdeは半角英字です。
abcde12345は半角英字ではありません。
補足情報
Pattern.matchesメソッドでは、正規表現と指定された文字列が完全一致する場合のみtrueを返します。部分一致するかどうかを検証したい場合は、Matcherクラスのfindメソッドを使用しましょう。
コメント