Scanner
System.in
関数を使用してユーザー入力を検証して検証するJava正規表現を取得しようとしています。私が検証しようとしているのは、入力としてのみ文字を含むことができ、複数の単語を含むことができるユーザー入力です。たとえば、「Test1」と入力すると、入力する必要があることを警告するメッセージが表示され、入力するように促すメッセージが表示されます(「テスト1」)。私の正規表現を通過すると、それはスペースがこの問題を引き起こしているようだが、私の正規表現にスペースを追加することは私の問題を解決していない。どんな助けでも大歓迎です。以下は問題を抱えている私のコードのセクションです:JavaスキャナhasNext()文字列の正規表現の検証
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();
これは誰かに明らかに間違っているかもしれないが、私は、Javaに新しいと正規表現午前と間違って行くされていただきましたすべての日を見つけるためにしようとしています失敗。
ありがとうございます。
試してみてください^^ [a-zA-Z_] * $それは簡単ですが、初心者が理解するのに十分です。 – TEK
'^ [a-zA-Z_] + $'なので、空の文字列は使用できません。 – totoro