为了账号安全,请及时绑定邮箱和手机立即绑定

正则表达式分割字符串的问题

正则表达式分割字符串的问题

慕斯王 2019-03-13 18:19:34
我想对字符串“1,2,,,'3,4',5”,实现分割结果为['1','2',‘’,‘’,‘3,4’,'5']请教正则表达式该怎么写============================================================我自己用正则实现的,php代码:var_dump(preg_split("/[,]?'([^']+)'[,]?|[,]+?/", "1,2,6,7,,'3,4',5,8,9", 0, PREG_SPLIT_DELIM_CAPTURE));结果:array(9) {  [0]=>  string(1) "1"  [1]=>  string(1) "2"  [2]=>  string(1) "6"  [3]=>  string(1) "7"  [4]=>  string(0) ""  [5]=>  string(3) "3,4"  [6]=>  string(1) "5"  [7]=>  string(1) "8"  [8]=>  string(1) "9"}不知道这样是否有问题
查看完整描述

4 回答

?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

不会用正则,但这个问题可以用split()


var str = "1,2,,,'3,4',5";

str.split(",");


查看完整回答
反对 回复 2019-04-17
?
holdtom

TA贡献1805条经验 获得超10个赞

提供一个思路:


var str = "1,2,,,'3,4',5";


// 这里先利用正则将字符串 '3,4' 中的 `,` 先换成其他字符,如 `*`,然后再做 `split` 最后再检查每个元素里的 `*`,将它换回来

var temp = str.replace(/'(\w)+,(\w)+'/, '$1*$2').split(','); 


str = temp.map(function(n){

  return n.replace(/\*/, ',');

});

希望有所帮助~ :)


查看完整回答
反对 回复 2019-04-17
?
MMTTMM

TA贡献1869条经验 获得超4个赞

('.*')|[^,]
这样,试试!
图片描述

查看完整回答
反对 回复 2019-04-17
  • 4 回答
  • 0 关注
  • 476 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信