主要思想:遍历a,将匹配b的a的子序列加入到set中,最后返回set的大小即可

let bb=readline();let as=new Set();
let l=0;//这里是需要l来记录a的子序列开始位置,这个子序列无论是匹配成功还是匹配失败,下一个子序列的开头都是a的第l+1
for(let i=0,j=0;i<aa.length;){
    if(aa[i]==bb[j]||bb[j]=='?'){
        
        j++;
        if(j==bb.length){
            j=0;
            as.add(aa.slice(l,i+1));
            i=l+1; 
            l=i;
            continue;
        }
        
    }else{
        j=0;
        i=l+1;
        l=i;
        continue;
    }
    i++
}
console.log(as.size);