javacript正则去除数组中重复项
vararr=newArray([123],[456],[123],[123]);varres=arr.join(",").match(/([^,]+)(?!.*,\1)...
var arr=new Array([123],[456],[123],[123]);
var res = arr.join(",").match(/([^,]+)(?!.*,\1)/ig);
document.write(res);
结果为23,456,23,123
为什么会匹配到23这东西? 展开
var res = arr.join(",").match(/([^,]+)(?!.*,\1)/ig);
document.write(res);
结果为23,456,23,123
为什么会匹配到23这东西? 展开
展开全部
这和正则的匹配原理有关,对于字符串"123,456,123,123",你的孝银衡正则在第一个"1"处匹配失败,然后前进一步,从"2"处开始匹配,这时你的正则会匹配成功。白话一点就是正则不会将整个数字(123,456)作为一个单元巧做来处理,而是将每个单独的字符(1,2,3)作为一个单元来处理,当在“1”处匹配失败后,会从“2”处重新尝试匹配。
我不太清楚你到底想干什么,是去重还是获得只出现一次的字符串?
(?:^|,)([^,]+)(?=,|$)(?!.*,\1(?:,|$))这是去搏闷重的
我不太清楚你到底想干什么,是去重还是获得只出现一次的字符串?
(?:^|,)([^,]+)(?=,|$)(?!.*,\1(?:,|$))这是去搏闷重的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询