四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

js 替換

問題:就是將()()()((())())換成[][][[[]][]]的那種了,處理括弧配對用的
作者: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]左括號比右括號多時(shí),保留多余的括號,即:()()((()()) → [][]([[][]]
[4]右括號比左括號多,保留多余的括號,即:(()()(()()))))) → [[][][[][]]])))

方案一:使用堆棧
作者: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)載需保留來源!

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

主站蜘蛛池模板: 菊次郎的夏天钢琴谱简谱| 改变自己吉他谱| 扭曲的欲望| 泰迪熊3| 五年级小数除法竖式计算题100道| 骚扰电话怎么弄,不停的给对方打| 珠江电影制片厂| 夫妻的情妇| 淡蓝色的雨简谱| 色女在线| 进宝| after4| 远方的故乡简谱| 色戒在线观看完整版| 弦月梦影| 朱璇| 蛇花| 关于雨的成语| 少年歌行第三季| 八哥图库图谜| 吻戏陈伟霆| 黄瀞怡| 林正英复仇电影| 打男生军人光屁股的网站视频| 希望online| 经视直播| 沟通能力自我评价| 小镇追凶电影免费观看| 巨乳欧美| 青春无季演员表| 《诱惑》电影| james deen| 风花电影完整版免费观看| 男生女生亲| interracial| 77316电影| 刘浩存个人简历资料| 火舞俪人 电影| 历代高僧大德开悟诗100首| 青春派电视剧免费完整版在线观看 | 纵横欲海|