プロが教える店舗&オフィスのセキュリティ対策術

正規表現で、17:00:00という文字の17:00(時:分)の部分だけを見て、時間として認識させたいのですが、どのように記述すればいいのでしょうか?
以下のプログラムを作成したのですが、なぜかfalseが返されてしまって困っています。
教えてください。宜しくお願いいたします。

String str_time = "17:00:00";
String str = "([0-9]|([0-1][0-9]|[2][0-3]))[:][0-5][0-9]";
Pattern pat = Pattern.compile( str ) ;
Matcher mat = pat.matcher( str_time ) ;
if( mat.matches() ){
// 処理
}

A 回答 (1件)

正規表現の末尾が足りないかな


String str = "([0-9]|([0-1][0-9]|[2][0-3]))[:][0-5][0-9].*";

(閏秒がどうなるかはわかりませんが :-P)
    • good
    • 0
この回答へのお礼

末尾を忘れていました・・・
ありがとうございました!解決しました!

お礼日時:2009/06/08 15:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!