Java
1//IDは6文字以上15文字以内で英数字を1文字含む(大文字小文字は関係なし) 2 public boolean checkId(String id) { 3 4 if (id.matches("[0-9a-zA-Z]{6,15}") && id.matches("[0-9]{1,}&&[a-zA-Z]{1,}")) { 5 return true; 6 } 7 return false; 8 } 9 10 public static void main(String[] args) { 11 Functions func = new Functions(); 12 System.out.println(func.checkId("abc1011ac")); 13 }
という正規表現があるのですがfalseになってしまします。
まずは6-15文字の英数字から成っているか確かめ、数字が1文字以上含まれているか確かめ、そしてアルファベットも含まれているか確かめます。どこが間違えておりますか。
[0-9a-zA-Z]{6,15}は予想通りに動きます。
参考書やWEBサイトには以下のようにあります。
matchesの中の&&の使い方がおかしいのでしょうか。WEBサイトには&&とあったり?=とあったりします。
回答1件
あなたの回答
tips
プレビュー