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

密码验证合格程序

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

相关推荐

点赞 评论 收藏
分享
代码飞升AL:同学院本建议你换一个项目 就算你不去特意搜也应该知道点评不能写吧 保持投递不要停 然后快速弄一个项目换上去 公司就别挑了 我第一段120一天 快速跳就行
点赞 评论 收藏
分享
评论
33
9
分享

创作者周榜

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