题解 | #密码验证合格程序#正则就好了

密码验证合格程序

http://www.nowcoder.com/practice/184edec193864f0985ad2684fbc86841

const list = []
let itm;
while(itm=readline()){
    list.push(itm)
}

for(let itm of list){
    if(!(/.{9,}/.test(itm))){
        console.log('NG');
        continue;
    }
    let sum = 0;
    if(/[a-z]/.test(itm))sum++
    if(/[A-Z]/.test(itm))sum++
    if(/[\d]/.test(itm))sum++
    if(/[^\da-zA-Z]/.test(itm))sum++
    
    if(sum<3){
        console.log('NG');
        continue;
    }
    if(/(.{3,}).*\1/g.test(itm)){
        console.log('NG');
    }else {
        console.log('OK');
    }
    
}
全部评论
/(.{3,}).*\1/g 这个正则用的好: (.{3,})表示匹配并捕获一个含三个以上任意字符(除换行符)的元组, .*匹配任意字符0次以上 \1重复匹配捕获的第一个元组
16 回复 分享
发布于 2022-05-23 21:48
优雅、太优雅了
点赞 回复 分享
发布于 2024-06-30 19:40 宁夏
超时
点赞 回复 分享
发布于 2024-01-08 15:20 陕西
为啥我测试超时了?
点赞 回复 分享
发布于 2023-06-16 22:17 浙江
最后一个正则就是我和大佬的差距,元组总是用不好
点赞 回复 分享
发布于 2023-06-02 01:15 安徽
这个正则表达式真是学到了👍
点赞 回复 分享
发布于 2022-06-23 15:02
大佬能介绍介绍正则可以使用的场景吗?我每次都是见到一个记录一个,感觉效率好低哦.
点赞 回复 分享
发布于 2022-04-18 08:21
写的太棒了,尤其是最后一条条件匹配的时候(๑•̀ㅂ•́)و✧
点赞 回复 分享
发布于 2022-04-18 08:19

相关推荐

天降大厂offer:想从事前端就放前端的技术栈,然后项目描述,还有项目做了什么内容,使用了什么技术解决了什么问题优化了什么性能。然后头像可以不要,在读也可以不要,还有bg的话就不要放课程,写哪个学校什么本科,还有绩点排名(如果高的话),然后就是技术栈写好一点,接下来就是项目(有实习就写实习,没有就到项目),项目放两个好一点的,自己包装一下,然后有参加什么竞赛放两个就好了,接下来就是靠你自己了,毕竟211还是很难容易找的,不像我们学院本
点赞 评论 收藏
分享
评论
33
9
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务