更新的问题:
我之前尝试提出这个问题的尝试很薄弱,根据我已经决定改写的评论。
我正在尝试拆分一个字符串,但在两个场景中忽略了分隔符......到目前为止,我只能实现一个场景。
鉴于这一行:
string line = "id:2,width:0,bounds{x:1,y:1},screens:[{@subclass:hmm,bounds{x:2,y:2},no:yes}],more:less,less:more";
使用这个表达式:
Regex.Split(line, @",(?![^{]*})|(?![^[]*})");
将导致
id:2
width:0
bounds{x:1,y:1}
screens:[{@subclass:hmm
bounds{x:2,y:2},no:yes}]
more:less
less:more
我放置了一个或者操作符,以便我可以抓住该字符[但是边界会转到下一行,但仍然保持不:是的,这是正确的。
我不确定为什么屏幕和界限会因上述表达式而被分割。
答案 0 :(得分:0)
如果有人需要在具有嵌套字符的拆分表达式中过滤掉多个场景,那么这就是解决方案:
Regex.Split(line, ",(?!([^{]*}|[^[]*]))");