Scanner
System.in
işlevini kullanarak bir kullanıcı girdisini denemek ve doğrulamak için bir Java normal ifadesi almaya çalışıyorum. Doğrulamaya çalıştığım, yalnızca giriş olarak harfleri içerebilen ve birden fazla sözcük içerebilen bir kullanıcı girdisidir. Örneğin ("Test1") yazıyorsam Bir harf atar, sadece harfleri girmem gerektiğini ve tekrar girmek istediğimi belirten bir mesaj atar, ancak ("Test 1") yazmam gerekirse, o zaman regeximden geçerdi, alanın bu soruna neden olduğu görünüyor, ama regeximde bir boşluk eklemek benim problemimi çözmedi. Herhangi bir yardım büyük takdir edilecektir. Aşağıda sorunları var demektir benim kod bölümüdür: Bu birinin açıkça yanlış olabilirJava Tarayıcı hasNext() string regex doğrulama
System.out.println("Please enter the your name: ");
while(!input.hasNext("[a-zA-Z]+")){
System.out.println("Your name must consist of only letters");
input.nextLine();
}
String name = input.nextLine();
ama Java ve regex için yeni ve neyin yanlış gidiyor bütün gün öğrenmek için çalışıyorlar Başarı yok.
Zaman ayırdığınız için teşekkür ederiz.
Deneyi deneyin^[a-zA-Z_] * $ 'Hiçbir şekilde mükemmel değildir, ancak basittir Yeni bir kişinin anlaması için yeterli. – TEK
Belki '^ [a-zA-Z_] + $' çok boş dizelere izin verilmez. – totoro