• ベストアンサー

正規表現について

お世話になっております。 現在、JAVAで開発を行っていますが、わからないことがあります。 1-1-1-01,1-2-1-01,1-3-1-01といった様な、数字+"-"ハイフンの文字列8桁が入力されているのかどうかのチェック処理が上手くできません 。 if(Pattern.matches("\d{1}-\d{1}-\d{1}-d{2}")){ } 上記で記載して上手く動作しません。 どなたかご存知でしたら教えて頂けませんでしょうか? よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • hegemon
  • ベストアンサー率72% (21/29)
回答No.2

"^\\d{1}-\\d{1}-\\d{1}-\\d{2}$" 上記のように、行頭に'^'、行末に'$'を追加しないと、完全一致にならないと思います。 あと、最後のdの前にも\\が必要ですね。

その他の回答 (1)

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

この場合、ハイフンは関係ないわ。 Javaでは文字列中に\を含めるときに エスケープしないといけないのよ。