关于asp.net的正则表达式

「已注销」 2016-09-03 03:03:18
现在有如下一段字符串,类似json,但不是json的字符串,如下:

"{serverSeconds : 1472869585,last_time : 1472869536,path : [{title : \"全部\", id : \"89\", cType : \"col\"}],count : 17322, offset_page : 0, offset_num : 0,list : [{channel : {title : \"国内\",id : \"90\",cType : \"col\",url : \"\"},title : \"中国淄博第16届陶博会将开幕 启用天眼视频直播\",url : \"http://news.sina.com.cn/c/nd/2016-09-03/doc-ifxvqcts9357634.shtml\",type : '1',pic : '',time : 1472869536},{channel : {title : \"娱乐\",id : \"95\",cType : \"col\",url : \"\"},title : \"柳岩晒素颜照 双眼深邃网友大呼认不出\",url : \"http://ent.sina.com.cn/s/m/2016-09-03/doc-ifxvqctu6113505.shtml\",type : '1',pic : '',time : 1472869462},{channel : {title : \"体育\",id : \"94\",cType : \"col\",url : \"\"},title : \"圣哲竞彩心水参考:彼得堡联主胜可期\",url : \"http://sports.sina.com.cn/l/2016-09-03/doc-ifxvqctu6113501.shtml\",type : '1',pic : '',time : 1472869455},{channel : {title : \"体育\",id : \"94\",cType : \"col\",url : \"\"},title : \"纳达尔今年美网不孤单 32位亲友组团赴纽约度假\",url : \"http://sports.sina.com.cn/tennis/atp/2016-09-03/doc-ifxvqctu6113461.shtml\",type : '1',pic : '',time : 14
72869431},{channel : {title : \"娱乐\",id : \"95\",cType : \"col\",url : \"\"},title : \"欧弟如约来京探亲 当起郭德纲小跟班\",url : \"http://ent.sina.com.cn/j/opusculum/2016-09-03/doc-ifxvqcts9357467.shtml\",type : '1',pic : '',time : 1472869303},{channel : {title : \"军事\",id : \"93\",cType : \"col\",url : \"\"},title : \"印总理访越盯着中国:帮越造舰船争南海石油开采权\",url : \"http://mil.news.sina.com.cn/china/2016-09-03/doc-ifxvqctu6113341.shtml\",type : '1',pic : '',time : 1472869213},{channel : {title : \"其他\",id : \"\",cType : \"col\",url : \"\"},title : \"泰戈尔故居被垃圾、粪便包围,印度到底怎样?\",url : \"http://news.sina.com.cn/pl/2016-09-03/doc-ifxvqctu6113137.shtml\",type : '1',pic : '',time : 1472868949},{channel : {title : \"美股\",id : \"99\",cType : \"col\",url : \"\"},title : \"美媒称中国将主导下一代制造业:创新和市场都在这里\",url : \"http://finance.sina.com.cn/stock/usstock/c/2016-09-03/doc-ifxvqcts9357159.shtml\",type : '1',pic : '',time : 1472868945},{channel : {title : \"体育\",id : \"94\",cType : \"col\",url : \"\"},title : \"麦克罗伊同情弃子诺克斯 亦支持皮特斯获外卡\",type : '1',pic : '',time : 1472864748}]}"


里面所有的都是属于键/值的组合,我需要的是将所有的键通过正则提取出来
我的正则表达式是:
((\{[^:]+:)|(\[[^:]+:)|(\,[^:]+:))


我在网上用这个正则表达式匹配是没有任何问题的,所有的都能匹配出来,但是在asp.net中匹配不出来
asp.net中的代码是:
new Regex(@"((\{[^:]+:)|(\[[^:]+:)|(\,[^:]+:))").Match(json).Groups;

哪位大神知道原因的啊,帮帮忙
...全文
206 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
c02645 2016-09-06
  • 打赏
  • 举报
回复
(is)((\{[^:]+:)|(\[[^:]+:)|(\,[^:]+:)) 是不是有换行,加is看看
baidu_31302759 2016-09-06
  • 打赏
  • 举报
回复
竟然用正则 一层一层剥行不行
「已注销」 2016-09-04
  • 打赏
  • 举报
回复
引用 1 楼 starfd 的回复:
你这个有循环嵌套的,正则应该不能简单的搞定,还不如搞个思路,看怎么将这个字符串弄成标准的json字符串,然后反序列化
我是直接取的 大括号到冒号之间,中括号到冒号之间,逗号到冒号之间,这个和嵌套没有关系的,因为就是一个字符串,我是全匹配,只要是在冒号和那就个字符之间的,就应该能匹配出来,而且我是将正则测试好之后,才在.net中使用的,但就是正确的正则,在.net中就是得不到正确的结果,所以不知道怎么回事,是因为.net的正则和其他的语言正则有差异?还是?
  • 打赏
  • 举报
回复
你这个有循环嵌套的,正则应该不能简单的搞定,还不如搞个思路,看怎么将这个字符串弄成标准的json字符串,然后反序列化

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧