Java11 正規表現を使用して時刻チェックを実装するサンプル
環境
Java SE 11
Eclipse 4.26.0
構文
時刻のチェックの正規表現式
^([0-1][0-9]|[2][0-3]):[0-5][0-9]$|^([0-1][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$
時間[00~23] 分[00~59] 秒[00~59]
書式
Pattern pattern = Pattern
.compile(“^([0-1][0-9]|[2][0-3]):[0-5][0-9]$|^([0-1][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$");
result = pattern.matcher(str).matches();
Patternクラスを使って時刻チェックを行います
使用例
package com.arkgame.study; import java.util.regex.Pattern; public class AppDemo { public static void main(String[] args) { System.out.println("HH:mm:ss形式のチェック結果:" + funA("22:49:59")); System.out.println("HH:mm形式のチェック結果:" + funA("22:59")); System.out.println("時間が不正のチェック結果:" + funA("60:59")); System.out.println("分が不正のチェック結果:" + funA("22:89")); System.out.println("秒が不正のチェック結果:" + funA("21:59:79")); } /** * 時刻のチェック * * @param str * @return true:時刻 false 時刻ではない */ public static boolean funA(String str) { boolean result = false; if (str != null) { // 時刻のチェック 時間[00~23] 分[00~59] 秒[00~59] Pattern pattern = Pattern .compile("^([0-1][0-9]|[2][0-3]):[0-5][0-9]$|^([0-1][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$"); result = pattern.matcher(str).matches(); } return result; } }
実行結果
HH:mm:ss形式のチェック結果:true
HH:mm形式のチェック結果:true
時間が不正のチェック結果:false
分が不正のチェック結果:false
秒が不正のチェック結果:false