我的任务是检查新字符串(登录名)是否符合一些规则这些是规则:
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();
我无法检查字符串是否以字母或数字结尾。我想我可以分割字符串并用不同的模式检查它的部分,但有件事告诉我,它可以更容易地完成。
如果这是一个愚蠢的问题或者我犯了错误,我很抱歉。也许有更简单的方法,请告诉我。谢谢