正则学习:首尾必须为英文、中间可以是英文、数字、点(.)、减号(-)、下划线(_)

正则学习:首尾必须为英文、中间可以是英文、数字、点(.)、减号(-)、下划线(_)

开始是这样的。

^[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]$

猜你喜欢

转载自www.cnblogs.com/F4NNIU/p/12643746.html