正则学习:首尾必须为英文、中间可以是英文、数字、点(.)、减号(-)、下划线(_) (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]$

posted on 2020-04-06 19:25  建伟F4nniu  阅读(458)  评论(0编辑  收藏  举报

导航