2014-09-05 114 views
-3

我有这样的字符串“[[1,2,3,4],sample,test:[abc,acd,12],1000]”我需要将此字符串拆分为如下正则表达式解析字符串

[1,2,3,4] 

sample 

test:[abc,acd,12] 

1000 

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

+0

我不明白你的格局。你想用'['和']'分割?如果是这样,为什么'1000'应该是这样的结果?为什么'nsregularexpression'标签? – 2014-09-05 10:12:14

+0

@SonerGönül谢谢你的回复,1000也在一个方括号内 – user3274485 2014-09-05 10:15:16

+1

_“我需要”_不是问题。显示你已经尝试过什么,没有工作。 – CodeCaster 2014-09-05 10:18:52

回答

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

+0

这对我来说非常合适 – user3274485 2014-09-05 10:45:10

0

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