有一段字符串 如下
var a = "好弄[1f616][1f631][1f60f][1f61c]好浓[1f49d][1f602][1f628][1f637]"
请问一下 正则怎么筛选出 这个字符串里面的中文和[]里的内容呢
伊谢尔伦2017-04-10 15:15:02
js
var a = "好弄[1f616][1f631][1f60f][1f61c]好浓[1f49d][1f602][1f628][1f637]"; a.match(/[^\u0000-\u00FF\[\]]+|[^\[]+?(?=\])/g);
简要说下,中文的范围一直很不好确定,这里就简单的用^\u0000-\u00FF
代替了
巴扎黑2017-04-10 15:15:02
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 沒必要考慮中文的範圍。
PHPz2017-04-10 15:15:02
在这个问题上,我觉得可以简单处理一下。
var a = "好弄[1f616][1f631][1f60f][1f61c]好浓[1f49d][1f602][1f628][1f637]";
var array = [];
a.split(/\[|\]/g).map(function(value, key) {
if(!!value){
array.push(value);
}
});