一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

js 替換

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

方案一:使用堆棧
作者:winter
代碼:
復制代碼 代碼如下:
<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> 

方案二:使用正則
作者:月影
代碼:
復制代碼 代碼如下:
<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技術js 替換,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 午夜日韩视频 | 久久精品大片 | 91免费高清视频 | 日本成人免费网站 | 国产精品视频999 | 多人伦精品一区二区三区视频 | 国产免费一区2区3区4区 | 国产精品久久久久999 | 中文字幕一区二区三区不卡 | 一级做a爰片性色毛片中国 一级做a爰性色毛片 | 久久久久激情免费观看 | 欧美激情精品久久久久久大尺度 | 色婷婷在线视频观看 | 国内自拍网址 | 亚洲国产成人欧美激情 | 亚洲精品乱码国产精品乱码 | 美女视频黄是免费 | 国产一区自拍视频 | 秋霞伊人 | a毛片全部播放免费视频完整18 | 在线午夜视频 | 成人精品国产 | 四虎现在的网址入口2022 | 日本香蕉网 | 日本一区二区视频免费播放 | 每日更新国产 | 国产一区二区在线免费观看 | 中文字幕精品一区二区日本 | 国产精品自拍第一页 | 欧美亚洲国产成人不卡 | 97精品国产91久久久久久久 | 亚洲精品tv久久久久久久久久 | 国产一二三区视频 | 五月激情丁香婷婷综合第九 | 美女又胸大又黄的网站 | 亚洲清色| 久久亚洲精品中文字幕二区 | 国产精品自拍视频 | 国产在线观看91 | 黑人和黑人激情一级毛片 | 中国一级特黄真人毛片免 |