var s1 = '【000】[000]【aaa】[aaa][test]【test】';
var s2 = '【000】[000]【aaa】[aaa]【test】[test]';上面是两个示例字符串,现在要求这样:过滤掉字符串最后面的一组括号中的全部内容(包括括号本身),这个括号可能是【】、[]、()、(),只需要过滤掉尾部的括号,其它地方不动,尾部可能还要考虑客格等因素。先谢谢大家的帮助!

解决方案 »

  1.   

    substring并不能实现这种要求吧,字符串中可能会有多个括号呢
      

  2.   

    经测试,下面的正则可以过滤掉最后面的】,但没有匹配到整个括号s1.replace(/[【.*?】]$/ig,'');不知道错在哪里
      

  3.   

    楼上正解!先仔细测试下,如果没问题就结帖。解决了问题是一方面,更重要的是又学到了一些知识,感谢4楼zswang
      

  4.   


    基本正确!不过只能适应括号为[]【】啊,在或里面追究一下()()就oK了
    追加:
    /(【[^】]*】|\[[^\]]*\]|\([^\]]*\))|([^\]]*))\s*$/