你这问题,和之前某人的一样。
先说结论:极度不推荐你使用这样的正则去从html中提取相关内容。
原因:
除非,你确保你的代码,
使用正则表达式去匹配html内容的代码,所需处理的html是很简单的,内容很少的,嵌套很少的,否则,稍微复杂点的html代码,N多标签,甚至本身html就是不完整的,标签有误的。那么通过写正则表达式去处理的话,就是极其繁琐,效率比较低的。
比较好的做法是:
使用相关的,专门解析html的库去处理html
比如Python中,使用BeautifulSoup:
【总结】Python的第三方库BeautifulSoup的使用心得
其他语言,也有其他对应的处理html的库。
单独对于你这个,特定的,相对比较简单的,只有一级内部嵌套的div的写法,可以写成:
Python
"<div[^>]+>.+?<div>(.+?)</div></div>", re.I
其中re.I表示不区分大小写
PHP/Perl等
#<div[^>]+>.+?<div>(.+?)</div></div>#i
或
/<div[^>]+>.+?<div>(.+?)<\/div><\/div>/i
总之,还是不推荐用正则处理复杂的html。
刚专门给你写了个帖子,自己去看吧:
【整理】关于用正则表达式处理html代码方面的建议
(此处不能贴地址,请用google搜标题,即可找到帖子地址)