Java Regex后缀

时间:2013-03-29 23:28:06

标签: java regex

我目前正在使用java正则表达式尝试匹配具有以下条件的用户名:

  1. 必须以字母(大写或小写)开头
  2. 长度不得超过8个字符
  3. 可能有数字,但它们必须在最后(所以sjh23会匹配,但不会是sj23h)
  4. 我知道从^ [A-Za-z]开始,长度可以用{0,7}来管理,但我不知道怎么做,所以任何数字都是后缀。

    感谢您的帮助。

1 个答案:

答案 0 :(得分:4)

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

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

(?=^.{1,8}$)[A-Za-z]+\\d*

您也可以使用length()方法(如

)来完成此操作
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