java验证,”支持6-20个字母、数字、下划线或减号,以字母开头“这个的正则表达式怎么写?

验证”支持6-20个字母、数字、下划线或减号,以字母开头“的正则表达式怎么写,谢谢亲们的帮助···················

^[a-zA-Z][a-zA-Z0-9_-]{5,19}$

http://blog.csdn.net/jiazimo/article/details/8125756

  1. 只有字母、数字和下划线且不能以下划线开头和结尾的正则表达式:^(?!_)(?!.*?_$)[a-zA-Z0-9_]+$
    只有字母和数字的: ^[a-zA-Z0-9_]+$
  2. 至少一个汉字、数字、字母、下划线: "[a-zA-Z0-9_\u4e00-\u9fa5]+"
  3. 至少一个汉字的正则表达式:"^[\u4e00-\u9fa5]"
  4. 最多10个汉字: ValidationExpression="^[\u4e00-\u9fa5]{0,10}"
  5. 只含有汉字、数字、字母、下划线不能以下划线开头和结尾:^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$