有一段字符串 如下
var a = "好弄[1f616][1f631][1f60f][1f61c]好浓[1f49d][1f602][1f628][1f637]"
请问一下 正则怎么筛选出 这个字符串里面的中文和[]里的内容呢
认证高级PHP讲师
jsvar a = "好弄[1f616][1f631][1f60f][1f61c]好浓[1f49d][1f602][1f628][1f637]"; a.match(/[^\u0000-\u00FF\[\]]+|[^\[]+?(?=\])/g);
js
var a = "好弄[1f616][1f631][1f60f][1f61c]好浓[1f49d][1f602][1f628][1f637]"; a.match(/[^\u0000-\u00FF\[\]]+|[^\[]+?(?=\])/g);
简要说下,中文的范围一直很不好确定,这里就简单的用^\u0000-\u00FF代替了
^\u0000-\u00FF
javascriptvar a = "好弄[1f616][1f631][1f60f][1f61c]好浓[1f49d][1f602][1f628][1f637]"; var arr1 = [], arr2 = []; a.replace(/\[(.*?)\]|([^\[]*)/g, function(p0, p1, p2) { if (p1) arr1.push(p1); if (p2) arr2.push(p2); }); console.log(arr1, arr2);
javascript
var a = "好弄[1f616][1f631][1f60f][1f61c]好浓[1f49d][1f602][1f628][1f637]"; var arr1 = [], arr2 = []; a.replace(/\[(.*?)\]|([^\[]*)/g, function(p0, p1, p2) { if (p1) arr1.push(p1); if (p2) arr2.push(p2); }); console.log(arr1, arr2);
[]里的内容
so 答案已更新
这个字符串里面的中文
so 沒必要考慮中文的範圍。
在这个问题上,我觉得可以简单处理一下。
var a = "好弄[1f616][1f631][1f60f][1f61c]好浓[1f49d][1f602][1f628][1f637]"; var array = []; a.split(/\[|\]/g).map(function(value, key) { if(!!value){ array.push(value); } });
简要说下,中文的范围一直很不好确定,这里就简单的用
^\u0000-\u00FF
代替了so 答案已更新
so 沒必要考慮中文的範圍。
在这个问题上,我觉得可以简单处理一下。