中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

js 替換

問(wèn)題:就是將()()()((())())換成[][][[[]][]]的那種了,處理括弧配對(duì)用的
作者:infinte
要求:
[1]支持任意的“括弧”,也就是可以用【】<>{}()……或者類似XML的:<a></a>、[cc][cc:over]、{ttt] [ttt}
[2]嚴(yán)格按照層次匹配,就是(a)b(c(d)e)換成[a]b[c[d]e]而非[a]b[c(d]e) (結(jié)束太早了)
[3]左括號(hào)比右括號(hào)多時(shí),保留多余的括號(hào),即:()()((()()) → [][]([[][]]
[4]右括號(hào)比左括號(hào)多,保留多余的括號(hào),即:(()()(()()))))) → [[][][[][]]])))

方案一:使用堆棧
作者:winter
代碼:
復(fù)制代碼 代碼如下:
<script> 
var strArr = "()()((()())"; 

function change(str) 

 var a=str.split(""); 
 var c=0; 
 var stack=[]; 
 var match={ 
 "(":")", 
 "{":"}", 
 "<":">", 
 "【":"】" 
 } 
 for(var i=0;i<a.length;i++) 
 if(match[a[i]]){ 
 stack.push([a[i],i]); 
 } 
 else if(a[i]==")"||a[i]=="}"||a[i]==">"||a[i]=="】"){ 
 if(!stack.length)continue; 
 var tmp=stack.pop(); 
 if(match[tmp[0]]==a[i])a[i]="]",a[tmp[1]]="["; 
 else stack.push(tmp); 
 } 
 return a.join("") ; 

alert(change(strArr)); 
</script> 

方案二:使用正則
作者:月影
代碼:
復(fù)制代碼 代碼如下:
<script> 
var strArr = "()()((()())"; 
var o = strArr; 
var r = o; 
do{ 
 o = r; 
 r = o.replace(//(([^()]*)/)/g,function(s,a){return '['+a+']'}); 
}while(o!=r); 
alert(r); 
</script> 

JavaScript技術(shù)js 替換,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 一区二区三区免费观看 | 麻豆av片| 极品国产视频 | 亚州精品天堂中文字幕 | 精品免费视频 | 久久伦理电影 | 精品中文视频 | 久久这里有精品 | 韩日免费视频 | 中文字幕在线视频网站 | 91亚洲国产成人久久精品网站 | 中文字幕av一区 | 国产伦精品一区二区三区照片91 | 福利电影在线 | 日韩欧美专区 | 天天射网站| av无遮挡 | 日韩视频在线一区 | 成人精品一区二区三区 | 美女视频黄色片 | 中文无吗 | 91原创视频在线观看 | 久久婷婷国产 | 欧美日韩不卡 | 国产ts人妖系列高潮 | 亚洲 欧美 综合 | 国产精品久久久乱弄 | 91色在线 | 亚洲欧美综合 | 精品国产99 | 亚洲免费一区二区 | 亚洲国产精品99久久久久久久久 | 久久精品视频在线免费观看 | 美国a级毛片免费视频 | 国产 亚洲 网红 主播 | 中文字幕在线看第二 | 2018天天干天天操 | 日韩一区二区免费视频 | 久久久久99 | 精品在线一区 | 日韩精品一区二区三区中文字幕 |