Java正则表达式后缀

Java正则表达式后缀,java,regex,Java,Regex,我目前正在使用java正则表达式,试图将用户名与以下条件匹配: 必须以大写或小写字母开头 长度不得超过8个字符 可能有数字,但必须在末尾,以便sjh23匹配,而不是sj23h 我知道以^[A-Za-z]开始,长度可以用{0,7}来管理,但我不知道如何使它成为后缀,所以任何数字都是后缀 感谢您的帮助。要使用正则表达式检查字符串长度,您可以使用mechanism并在正则表达式的开头添加?=^.{1,8}$ 所以你的正则表达式看起来像 (?=^.{1,8}$)[A-Za-z]+\\d* 你也可以用长

我目前正在使用java正则表达式,试图将用户名与以下条件匹配:

必须以大写或小写字母开头 长度不得超过8个字符 可能有数字,但必须在末尾,以便sjh23匹配,而不是sj23h 我知道以^[A-Za-z]开始,长度可以用{0,7}来管理,但我不知道如何使它成为后缀,所以任何数字都是后缀


感谢您的帮助。

要使用正则表达式检查字符串长度,您可以使用mechanism并在正则表达式的开头添加?=^.{1,8}$

所以你的正则表达式看起来像

(?=^.{1,8}$)[A-Za-z]+\\d*
你也可以用长度法,比如

if(yourString.matches("[A-Za-z]+\\d*")  &&  yourString.length()<=8){//...
//you dont need to check if yourString.length()>=1 since [A-Za-z]+ makes string
//to contain at least one character

要使用正则表达式检查字符串的长度,可以使用mechanism并在正则表达式的开头添加?=^.{1,8}$

所以你的正则表达式看起来像

(?=^.{1,8}$)[A-Za-z]+\\d*
你也可以用长度法,比如

if(yourString.matches("[A-Za-z]+\\d*")  &&  yourString.length()<=8){//...
//you dont need to check if yourString.length()>=1 since [A-Za-z]+ makes string
//to contain at least one character

为什么不用String.length检查长度?为什么不用String.length检查长度?