JS字符串分割问题

求教各位前辈一个字符串按指定条件分割的问题。
问题:
如何将字符串"123一二三OK[OK你好]"分割成数组[1,2,3,一,二,三,[OK],[你好],[,O,K,你,好,]]

        (function () {//筛选
            var str_b = "now [里斯本][000][test123][ddddd][你好你你好你好你好好][3234][大记_号][你好我好你也好][你][no][NO][ok][OK][KO][ON]";
            var reg = /\[((NO)|(OK)+|[\u4e00-\u9fa5]{1,3})\]/g;
            console.log(str_b.split(reg));
        })();

用正则拆分后结果并不是想要的,求教各位前辈给出解决问题的思路,谢谢!!!

阅读 1.7k
1 个回答
str = str.replace(/\s/g,'').split(/([^\[\]]+)(?=\[)|(\[[^\[\]]+\])/g).filter(item=>item);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题