首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

攻,正则表达式

2013-11-13 
求助攻,正则表达式上次匹配正则得到了一位版主大大的支持,搞出来了一部分,详见http://bbs.csdn.net/topics

求助攻,正则表达式
上次匹配正则得到了一位版主大大的支持,搞出来了一部分,详见http://bbs.csdn.net/topics/390636368帖子,在此不再阐述。
今天又遇到问题了,例如HTML页面中有两条记录:

{"id":XXX,"type":1,"fakeid":"XXX","nick_name":"天空","date_time":xxx,"content":"你好","source":"biz","msg_status":2,"has_reply":0,"refuse_reason":""}


{"id":XXX,"type":1,"fakeid":"xxxx","nick_name":"海洋","date_time":xxx,"content":"你也好","source":"","msg_status":4,"remark_name":"haiyang","has_reply":0,"refuse_reason":""}

大家可以看到这两条记录的明显区别是第二条当中的msg_status为4,然后就是多了一个"remark_name":"haiyang"。在这里我使用了

"id":\\d+,"type":\\d+,"fakeid":"[^"]+","nick_name":"[^"]+","date_time":\\d+,"content":"[^"]+","source":"[^"]+","msg_status":\\d+
进行匹配,但是为什么只能取到第一条记录而取不到第二条?两条中都msg_status,请问这个是为什么? 正则表达式 ASP.NET
[解决办法]
date_time":\\d+,
这里为什么用\\d+
这会匹配成\\(表示单个的\)以及任意个d(d+)
[解决办法]
将下边红色部分的+修改成*即可

原因就是:因为你的第二条数据中source":""  双引号内无字符

"id":\\d+,"type":\\d+,"fakeid":"[^"]+","nick_name":"[^"]+","date_time":\\d+,"content":"[^"]+","source":"[^"]+","msg_status":\\d+

热点排行