这个应该怎么写,有点难入手,思路都没有

如何把那个hiti只表示**

'123123hellohitiaitsohitit'.replace(/(?=(hi|it))/gi,function(){return '{<!-- -->{'+arguments[1]+'}}'}).replace(/\{\{(.+)\}\}\1(?!\{\{)/gi,'\{\{\}\}**').replace(/\{\{(.(?!\}\})*).\}\}.+?(?=\{\{)/gi,'').replace(/\{\{\}\}/gi,'')

第一个正则用给出的数据生成正则即可,后边的{{}}定义,可以自行改成其他在通常情况下不会出现的连续字符即可

  var source = [3,'ot','out','lotof','alotofsmallottoyoutmyhouse,anotoutatotroom'];
  var mask = function(a){
		var l=a[0],c=[];
		for(var i=0;i<l;i++){
			c.push(a[i+1])
		}
		var s = a[a.length-1];
		document.write('<div>'+s+'</div>')
		var m = []; 
		var result = '';
		for(var i=0;i<s.length;i++){
			for(var j=0;j<c.length;j++){
				if (s.substr(i,c[j].length)==c[j])
				{
					for(var x=0;x<c[j].length;x++){
						if (m.indexOf(i+x)<0)
						{
							m.push(i+x)
						}
					}
				}
			}
		}
		for(var i=0;i<s.length;i++){
			if (m.indexOf(i)<0)
			{
				result+=s.substr(i,1)
			}else{
				while(m.indexOf(i+1)>=0){
					i++
				}
				result +='**'
			}
		}
		return result
	}
  document.write(mask(source))

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632