現在、Java正規表現を使用して、次の条件でユーザー名を一致させようとしています:
- 文字で始める必要があります (大文字または小文字)
- 長さは 8 文字以下にする必要があります
- 数字を含めることができますが、最後にある必要があります (したがって、sjh23 は一致しますが、sj23h は一致しません)
^[A-Za-z] で開始することはわかっています。長さは {0,7} で管理できますが、その方法がわからないため、数字は接尾辞になります。
助けてくれてありがとう。
正規表現で文字列の長さを確認するには、先読みメカニズムを使用して、正規表現の先頭に追加(?=^.{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