如何获取<script>标签里的某个对象的值,利用正则
。。。。<script>
var movie_detail= {
"info_pianyuan":[
{"aid":"51401","hd_type":"720P","wid":"13","left_eye":1,"exclusive":0,"dzone":3,"ispay":0,"3d":0,"pay_type":0,"type":1}],
"video_list":[
{"flash":"1","vid":"675748","vname":"\u5047\u5982\u751f\u6d3b\u6b3a\u9a97\u4e86\u4f60_01(480P)","video_time":"2579000","v_sub_title":"","update_time":"1377532480446","location":"1","ispay":"0","dzone":"1","publish_date":null}],
};
</script>
。。。。
这是一个html的源码转成字符串,前后都有大量字符,请问如何利用正则把info_pianyuan和video_list里面的值取出来? --------------------编程问答-------------------- regex="(?s).*?info_pianyuan\":\[(.*?)\].*?video_list\":\[.*?\].*?";
最后获取到
m.group(1);
m.group(2);
分别是:
{"aid":"51401","hd_type":"720P","wid":"13","left_eye":1,"exclusive":0,"dzone":3,"ispay":0,"3d":0,"pay_type":0,"type":1}
{"flash":"1","vid":"675748","vname":"\u5047\u5982\u751f\u6d3b\u6b3a\u9a97\u4e86\u4f60_01(480P)","video_time":"2579000","v_sub_title":"","update_time":"1377532480446","location":"1","ispay":"0","dzone":"1","publish_date":null}
不过这是json串,还是建议用json的方式解决。。
--------------------编程问答--------------------
只要取到info_pianyuan对象的值,后面就可以用json处理,我先试试你说的方法 --------------------编程问答--------------------
regex不对吧,编译都通不过。。 --------------------编程问答--------------------
某些地方少了个\而已,你尝试补上就行了。。
这个很明显的出错应该学会自己调试。
String regex="(?s).*?info_pianyuan\":\\[(.*?)\\].*?video_list\":\\[.*?\\].*?";
--------------------编程问答--------------------
regex="(?s).*?info_pianyuan\":\[(.*?)\].*?video_list\":\[.*?\].*?";
最后获取到
m.group(1);
m.group(2);
分别是:
{"aid":"51401","hd_type":"720P","wid":"13","left_eye":1,"exclusive":0,"dzone":3,"ispay":0,"3d":0,"pay_type":0,"type":1}
{"flash":"1","vid":"675748","vname":"\u5047\u5982\u751f\u6d3b\u6b3a\u9a97\u4e86\u4f60_01(480P)","video_time":"2579000","v_sub_title":"","update_time":"1377532480446","location":"1","ispay":"0","dzone":"1","publish_date":null}
不过这是json串,还是建议用json的方式解决。。
regex不对吧,编译都通不过。。
某些地方少了个\而已,你尝试补上就行了。。
这个很明显的出错应该学会自己调试。
String regex="(?s).*?info_pianyuan\":\\[(.*?)\\].*?video_list\":\\[.*?\\].*?";
嗯,最不爱弄得就是正则,基本要用到就上网求助,哈哈thanks。。有时间再深入学习正则 --------------------编程问答--------------------
regex="(?s).*?info_pianyuan\":\[(.*?)\].*?video_list\":\[.*?\].*?";
最后获取到
m.group(1);
m.group(2);
分别是:
{"aid":"51401","hd_type":"720P","wid":"13","left_eye":1,"exclusive":0,"dzone":3,"ispay":0,"3d":0,"pay_type":0,"type":1}
{"flash":"1","vid":"675748","vname":"\u5047\u5982\u751f\u6d3b\u6b3a\u9a97\u4e86\u4f60_01(480P)","video_time":"2579000","v_sub_title":"","update_time":"1377532480446","location":"1","ispay":"0","dzone":"1","publish_date":null}
不过这是json串,还是建议用json的方式解决。。
regex不对吧,编译都通不过。。
某些地方少了个\而已,你尝试补上就行了。。
这个很明显的出错应该学会自己调试。
String regex="(?s).*?info_pianyuan\":\\[(.*?)\\].*?video_list\":\\[.*?\\].*?";
再问下。。。如果我直接要取movie_detail里的值,正则表达式是怎样的? --------------------编程问答-------------------- m.group(1);取到字符串后以
regex=".*?\"(.*?)\":\"(.*?)\",.*?";
同样取
mm.group(1);
mm.group(2);
--------------------编程问答--------------------
m.group(1);取到字符串后以
regex=".*?\"(.*?)\":\"(.*?)\",.*?";
同样取
mm.group(1);
mm.group(2);
不是 是想取movie_detail这个里面值的正则如何定义?movie_detail为script标签里的一个对象
...
<script>
...
var movie_detail={}
...
</script>
...
补充:Java , Java相关