C# 正则表达式

hengyisoft 2012-03-06 09:52:00
正则表达式 怎么用正则得到[]里面的值
value([{id:1,name:aa},{id:2,name:bbb}])
3Q:),正则不熟
...全文
88 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
EnForGrass 2012-03-06
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 hengyisoft 的回复:]

OK 3Q
q107770540
( Tim [兔子党执行督察])
Chinajiyong
(TMAC)
提示一下,上面的正则如果值里面包含换行符会被截断--
很多时候都被正则困扰,想认真的学习下正则 但是每次看到正则都晕乎乎的,大脑对正则已经产生了排斥和恐惧,求指点 ::>_<::
[/Quote]
想学,推荐一篇我发的帖子
http://topic.csdn.net/u/20120228/11/88a6fd52-de02-4c3e-9f97-a1ffe2fbab24.html
hengyisoft 2012-03-06
  • 打赏
  • 举报
回复
OK 3Q
q107770540
( Tim [兔子党执行督察])
Chinajiyong
(TMAC)
提示一下,上面的正则如果值里面包含换行符会被截断--
很多时候都被正则困扰,想认真的学习下正则 但是每次看到正则都晕乎乎的,大脑对正则已经产生了排斥和恐惧,求指点 ::>_<::
q107770540 2012-03-06
  • 打赏
  • 举报
回复
是的,使用贪婪匹配
EnForGrass 2012-03-06
  • 打赏
  • 举报
回复

string s6 = @"value([{id:1,name:aa},{id:2,name:bbb}]) ";
Match match6 = Regex.Match(s6, @"(?<=\[)(.*)(?=\])");//改一下去掉?非懒惰模式
string sres = match6.Value;//你要的值:{id:1,name:aa},{id:2,name:bbb}
q107770540 2012-03-06
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 hengyisoft 的回复:]
value([{id:1,name:aa},{id:2,name:"[bbb]"}]) 如果值里面包含[]的话 2位大哥的表达式都得不到值 - -
[/Quote]

Regex re = new Regex("(?<=value\\(\\[).*?(?=\\]\\) )", RegexOptions.None);
那就将红色的问号去掉
不要使用懒惰匹配呀
hengyisoft 2012-03-06
  • 打赏
  • 举报
回复
value([{id:1,name:aa},{id:2,name:"[bbb]"}]) 如果值里面包含[]的话 2位大哥的表达式都得不到值 - -
hengyisoft 2012-03-06
  • 打赏
  • 举报
回复
:)
Chinajiyong
(TMAC)
porschev
(Vivi)
给的都得到值 我再拿到我的程序里面测试一下 :)
hengyisoft 2012-03-06
  • 打赏
  • 举报
回复
:webdiyer
(陕北吴旗娃)
这个不是标准的json 需要经过一些字符串处理
EnForGrass 2012-03-06
  • 打赏
  • 举报
回复

string s6 = @"value([{id:1,name:aa},{id:2,name:bbb}]) ";
Match match6 = Regex.Match(s6, @"(?<=\[)(.*?)(?=\])");
string sres = match6.Value;//你要的值:{id:1,name:aa},{id:2,name:bbb}

porschev 2012-03-06
  • 打赏
  • 举报
回复



Regex re = new Regex("(?<=value\\(\\[).*?(?=\\]\\) )", RegexOptions.None);

//匹配结果:{id:1,name:aa},{id:2,name:bbb}


tan598121925 2012-03-06
  • 打赏
  • 举报
回复
正则文盲路过
webdiyer 2012-03-06
  • 打赏
  • 举报
回复
这不是json对象吗?直接用json解析不就能取到所有值了吗?

=============================================
ASP.NET分页最终解决之道:http://www.webdiyer.com
EnForGrass 2012-03-06
  • 打赏
  • 举报
回复
string s6 = @"value([{id:1,name:aa},{id:2,name:bbb}]) ";
Match match6 = Regex.Match(s6, @"(?<=\[)(.*?)(?=\])");
string sres = match6.Value;
hengyisoft 2012-03-06
  • 打赏
  • 举报
回复
Chinajiyong
(TMAC)
感谢,Mrak

62,046

社区成员

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

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

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

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