需求:
1、搜索带有关键字的数组字符串,有点类型DB中的like查询,如下面一段js,会匹配2个:
["23","11","1"]和["43","103","411"]
分开解释一下表达式的含义,只是我的理解,也是别人写给我的,之前想了好久,没写出来,这里写出来分享一下。
\\[ 匹配 [
[^\\[]+ 匹配 多个所有非[的字符
(?='+key+') 匹配 带有关键字的字符串
同理 [^\\]]+ 和 \\] 分别匹配多个非]的字符 和 ]
<script> var items = '[["23","11","1"],["23","1234","2"],["3","1034","3"],["43","103","411"]]'; var key = '11'; var reg = new RegExp('\\[[^\\[]+(?='+key+')[^\\]]+\\]','g'); while(r = reg.exec(items)){ alert(r); } </script>