前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >正则表达式的妙用

正则表达式的妙用

作者头像
蛋蛋编程手记
发布2022-12-12 21:16:05
2840
发布2022-12-12 21:16:05
举报
文章被收录于专栏:蛋蛋编程手记蛋蛋编程手记

有这样一个很常见的案例,网站注册账号的时候,安全起见要求用户名密码等有一定的复杂度的,对于不满足要求的账号密码不能通过。

举个例子,要求包含数字、大写字符、小写字符、特殊字符_这四种,要求密码长度6到12位

这里我直接给出答案,可以用正则表达式一步搞定

^(?=.*[0_9])(?=.*[a_z])(?=.*[A_Z])(?=.*_)[0-9a-zA-Z_]{6,12}$

最后的表达式[0-9a-zA-Z_]{6,12},它限制了可以使用的字符,以及整体的字符长度,是常规的正则表达式用法。难点是前面的四个位置指定。

这里的主要知识点就是正则表达式中exp1(?=exp2)的用法,表示的是后面有满足exp2表达式的exp1。而且位置指定可以有多个,exp1(?=exp2)(?=exp3),表示的是后面有同时满足exp2和exp3的exp1。

本案例里面的前面四个位置指定表示包含了数字、小写字符、大写字符、特殊字符_的内容。

需要注意的是,这里的(?=exp)修饰的是前面的^,而不是后面的[0_9a_zA_Z_]{6,12}

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-12-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 蛋蛋编程手记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档