<ul id='e5e'>
<li><a>e5e1</a></li>
<li><a>e5e2</a></li>
</ul>
<ul id='x6'>
<li><a>x61</a></li>
<li><a>x62</a></li>
</ul>
<ul id='dd2'>
<li><a>dd21</a></li>
<li><a>dd22</a></li>
</ul>
请问用正则表达式取出x61 x62?这个内容是不固定的,现在程序设计只能进行一次表达式计算,不能分步提取。求大神帮忙,谢谢了。
请问正则如何取出指定UL标签里的所有li文本内容?
答案:2 悬赏:40 手机版
解决时间 2021-02-26 15:52
- 提问者网友:一抹荒凉废墟
- 2021-02-25 17:15
最佳答案
- 五星知识达人网友:野味小生
- 2021-02-25 17:42
var getU = function(html, ul_id){
var reg = new RegExp("[\\s\\S]*<ul[^>]+id[=\"\']+"+ul_id+"[\"\']?[^>]*>((?:(?!<\/ul>)[\\s\\S])*)<\/ul>[\\s\\S]*","gi");
var str = html.replace(reg,"$1");
var regex = /<a>((?:(?!<\/a>)[\s\S])*)<\/a>/gi;
var arr = [];
while(regex.exec(str)){
arr.push(RegExp.$1);
}
return arr;
}
var html = "<ul id='e5e'>\r\n<li><a>e5e1</a></li>\r\n<li><a>e5e2</a></li>\r\n</ul>\r\n<ul id='x6'>\r\n<li><a>x61</a></li>\r\n<li><a>x62</a></li>\r\n</ul>\r\n<ul id='dd2'>\r\n<li><a>dd21</a></li>\r\n<li><a>dd22</a></li>\r\n</ul>";
var ul_id = "x6";
var arr = getU (html, ul_id);
console.log(arr);
var reg = new RegExp("[\\s\\S]*<ul[^>]+id[=\"\']+"+ul_id+"[\"\']?[^>]*>((?:(?!<\/ul>)[\\s\\S])*)<\/ul>[\\s\\S]*","gi");
var str = html.replace(reg,"$1");
var regex = /<a>((?:(?!<\/a>)[\s\S])*)<\/a>/gi;
var arr = [];
while(regex.exec(str)){
arr.push(RegExp.$1);
}
return arr;
}
var html = "<ul id='e5e'>\r\n<li><a>e5e1</a></li>\r\n<li><a>e5e2</a></li>\r\n</ul>\r\n<ul id='x6'>\r\n<li><a>x61</a></li>\r\n<li><a>x62</a></li>\r\n</ul>\r\n<ul id='dd2'>\r\n<li><a>dd21</a></li>\r\n<li><a>dd22</a></li>\r\n</ul>";
var ul_id = "x6";
var arr = getU (html, ul_id);
console.log(arr);
全部回答
- 1楼网友:冷風如刀
- 2021-02-25 19:00
<?php
$str = '
<ul><li><a href="#">内容
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯