在处理HTML数据时,经常需要从特定区域提取结构化内容。本文将详细介绍如何用正则表达式高效提取指定div标签下的所有li元素的文本内容,适用于Python、JavaScript等语言环境。
核心正则模式示例(以div的class="target"为例):
<div[^>]*class="target"[^>]*>(.*?)<\/div>
提取li文本的完整表达式:
<li>(.*?)<\/li>
import re
html_content = """
<div class="target">
<ul>
<li>第一项内容</li>
<li>第二项内容</li>
</ul>
</div>
"""
# 提取目标div内容
div_pattern = r'<div[^>]*class="target"[^>]*>(.*?)<\/div>'
div_match = re.search(div_pattern, html_content, re.DOTALL)
if div_match:
# 提取li文本
li_pattern = r'<li>(.*?)<\/li>'
items = re.findall(li_pattern, div_match.group(1))
print("提取结果:", items)
通过以上方法,可快速提取HTML中特定区域的列表内容,适用于数据采集、内容分析等场景。注意正则表达式虽便捷,但对于嵌套复杂的HTML建议使用专业解析器确保稳定性。