正则表达式来解析字符串

时间:2014-09-05 10:10:52

标签: c# regex

我有一个像这样的字符串" [[1,2,3,4],样本,测试:[abc,acd,12],1000]"我需要将此字符串拆分为如下

[1,2,3,4] 

sample

test:[abc,acd,12]

1000

如何创建正则表达式来解析此字符串。

2 个答案:

答案 0 :(得分:1)

从输入字符串中删除前导[和尾随]符号,并根据[]括号内不存在的逗号分割结果字符串。

string str = "[[1,2,3,4],sample,test:[abc,acd,12],1000]";
string remove = Regex.Replace(str, @"]$|^\[", "");

string[] lines = Regex.Split(remove, @",(?![^\[\]]*\])");

foreach (string line in lines) {
Console.WriteLine(line);
}
  Console.ReadLine();
}

<强>输出:

[1,2,3,4]
sample
test:[abc,acd,12]
1000

IDEONE

答案 1 :(得分:0)

[^,]*?\[[\s\S]*?\][^,]*?|[^,]+