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

密码验证合格程序

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

相关推荐

这不纯纯作弊了吗😢😢😢
编程界菜鸡:信这个的这辈子有了,这智商你靠啥都没用
点赞 评论 收藏
分享
07-04 16:00
门头沟学院 Java
点赞 评论 收藏
分享
评论
33
9
分享

创作者周榜

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