如有字符串 
str="***...n多内容"
str+="[00:23.12][00:24.14]fdsfsdfsdf[ti:abc]afsf我[ti:def]";
str+="\n<>Dfsdf";
str+="[00:00.11]fasfsf";
我想得到 [00:23.12][00:24.14]fdsfsdfsdf
[ti:abc]afsf我
[ti:def]
[00:00.11]fasfsf这种一对或多对连在一起的中括号加一串字符的内容,怎么写正则呀?\[\w+:.*].*

解决方案 »

  1.   

    var str= "[00:23.12][00:24.14]fdsfsdfsdf[ti:abc]afsf我[ti:def]";
    str+= "\n <> Dfsdf";
    str+= "[00:00.11]fasfsf"; 
    var re = /(\[[^\]]*\])+[^\[\n\r]*/g;
    alert(str.match(re).join("\n"));
      

  2.   


    var str="";
    str= "***...n多内容 " 
    str+= "[00:23.12][00:24.14]fdsfsdfsdf[ti:abc]afsf我[ti:def] "; 
    str+= "\n <> Dfsdf "; 
    str+= "[00:00.11]fasfsf "; 
    var array=new Array();
    var index=0;
    str.replace(/(\[.+?\][^\[\]\n]*)/g,function($1,$2){
    array[index]=$2;
    index++;
    });
    alert(array);
      

  3.   

    凑个热闹,提供一个
    var reg=/(\[[^\[\]]*\])+[^\[\]]*/g;