正则学习:首尾必须为英文、中间可以是英文、数字、点(.)、减号(-)、下划线(_) (2020-04-06)[71.65%] 正则学习:首尾必须为英文、中间可以是英文、数字、点(.)、减号(-)、下划线(_)
开始是这样的。
^[A-Z]+[A-Z0-9-_.]+[A-Z0-9]$
看起来没什么问题,但是如果只有两个字符时就出错了,因为中间变成必须的了。
改进后
^[A-Z]+[A-Z0-9-_.]{0,}[A-Z0-9]$
最后发现其中 {0,} 就是贪婪模式,可以用 * 替代
^[A-Z]+[A-Z0-9-_.]*[A-Z0-9]$