Java中的正则表达式用于验证用户名

Add*_*dev 6 java regex validation

我正在尝试Java中的用户名链,遵循以下规则:

  • 长度> = 3
  • 有效字符:az,AZ,0-9,点,短划线和下划线.

有人可以用正则表达式帮我吗?

sar*_*oka 16

试试这个正则表达式:

^[a-zA-Z0-9._-]{3,}$
Run Code Online (Sandbox Code Playgroud)

  • @TheCapn:我在你写评论的时候修好了.:-) (2认同)

Sim*_*nni 5

Sarkiroka解决方案是正确的,但忘了破折号并且应该逃脱点.

你应该添加为\来逃避它,但请注意,在Java中反斜杠本身用于转义,所以如果你在java文件中编写正则表达式,你应该写

String regex = "[a-zA-Z0-9\\._\\-]{3,}"; 
Run Code Online (Sandbox Code Playgroud)

请注意双反斜杠.

  • 不需要转义`.`,并且可能不需要转义`-`,因为它是类中的最后一个(但我不确定Java如何处理它). (2认同)