新しい文字列 (ログイン) がいくつかのルールに準拠しているかどうかを確認するタスクがあります。これらはルールです。
1. It has to be 1-20 symbols length
2. It may consist of digits, letters (a-z,A-Z), dots and "-"
3. The first symbol has to be a letter (a-z,A-Z)
4. It has to end with a letter or a digit
そこで、java.util.regex.Pattern を使用することを考えましたが、いくつかの問題が発生しました。それは私が持っているものです:
String login = "a.bc-.52";
Pattern p1 = Pattern.compile("([a-zA-Z]{1}[a-zA-Z\\d.-]{0,18}[a-zA-Z\\d])");
Matcher m1 = p1.matcher(login);
boolean b = m1.matches();
文字列が文字または数字で終わるかどうかを確認するのに問題があります。文字列を分割して、その部分をさまざまなパターンで確認することもできると思いますが、もっと簡単にできることがわかります。
くだらない質問だったり、間違っていたらすみません。もっと簡単な方法があるかもしれませんが、教えてください。ありがとうございました