go用regex提取html文件的内容常用示例
以下是一些常见的示例,用于使用正则表达式提取HTML文件的内容:
- 提取所有标签的内容:
re := regexp.MustCompile(`<[^>]*>`) // 匹配尖括号中的任意字符,直到遇到封闭的尖括号
result := re.FindAllString(htmlString, -1)
- 提取特定标签的内容:
re := regexp.MustCompile(`<h1>(.*?)</h1>`) // 匹配 <h1> 标签中的内容
result := re.FindStringSubmatch(htmlString)
if len(result) > 1 {
content := result[1]
}
- 提取带有特定属性的标签的内容:
re := regexp.MustCompile(`<a href="(.*?)">(.*?)</a>`) // 匹配 <a> 标签中带有 href 属性的内容
result := re.FindAllStringSubmatch(htmlString, -1)
for _, match := range result {
href := match[1]
content := match[2]
}
- 提取特定CSS类的标签的内容:
re := regexp.MustCompile(`<div class="my-class">(.*?)</div>`) // 匹配 <div> 标签中带有 "my-class" 类的内容
result := re.FindStringSubmatch(htmlString)
if len(result) > 1 {
content := result[1]
}
请注意,使用正则表达式提取HTML内容可能不是最佳的方法,因为HTML是一种结构化的语言,更适合使用HTML解析器进行处理。使用正则表达式可能会遇到一些边界情况和不可预测的问题。如果可能的话,建议使用Go中提供的HTML解析器,如golang.org/x/net/html包
原文地址: https://www.cveoy.top/t/topic/inlu 著作权归作者所有。请勿转载和采集!