<divclass="lib-cat"><h3>分类索引</h3><divclass="list"><ul><li><ahref="/search/movie">电影</a></li><li><ahref="/search/tv">电视剧</a></li><li><ahref="/search/show">综艺</a></li></ul></div>
想匹配出 电影,电视剧,综艺的链接,形成一个数组
<divclass="lib-cat"><h3>分类索引</h3><divclass="list"><ul><li><ahref="/search/movie">电影</a></li><li><ahref="/search/tv">电视剧</a></li><li><ahref="/search/show">综艺</a></li></ul></div>
想匹配出 电影,电视剧,综艺的链接,形成一个数组
道理的解释,完整的代码和输出,以及个人的建议,全都写在帖子里了:
【问题解答】建议:处理html时复杂的需求,建议使用专门的库比如BeautifulSoup去处理而不要用正则
然后调用 正则表达式.findall(字符串)
或者 正则表达式.search(字符串).groups()
想要匹配哪一部分,就把那部分用括号框住,其中确定的文本不需要进行改动,不确定的文本用正则去表示就行了。
上面的网址想精确点可以写成/\w+/\w+,电影、电视剧、综艺可以写成.*?或者.{2,3}。对于一般的的文本,几乎怎样匹配都不会有错,除非有人想为难你。
<ahref="/search/movie">电影</a>
<ahref="/search/tv">电视剧</a>
<ahref="/search/show">综艺</a>
对于这样的文本,就把其中一样的保留,不一样的用正则表示。
<ahref="/search/*?">.*?</a>
参见我前面的回复:
要么你把所有的你的要求的详细的解释,说清楚 -> 我再帮你写出精确的正则;
要么是你自己去学习正则,搞懂正则 -> 靠自己写出你自己想要的正则
关于正则的特殊性,详见:
【整理】关于提问者在问别人关于正则表达式方面的问题之前所要明白的事情和前提