啊,抱歉,以前没有用 Go 工作过,但这似乎工作。
试过了
https://tour.golang.org/welcome/1
.
package main
import (
"fmt"
"regexp"
)
func main() {
var myString = `<img src='img1single.jpg'><img src="img2double.jpg">`
var myRegex = regexp.MustCompile(`<img[^>]+\bsrc=["']([^"']+)["']`)
var imgTags = myRegex.FindAllStringSubmatch(myString, -1)
out := make([]string, len(imgTags))
for i := range out {
fmt.Println(imgTags[i][1])
}
}
我建议使用 htmlagility 来解析任何 dom/xml 类型的 a。
阅读文档;
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(sourceHtml);
通过 Xpath 定义 RegX 解析很好,但分组 ext。问题使工作变得复杂
doc.DocumentNode.SelectSingleNode(XPath here)
或
doc.DocumentNode.SelectNodes("//img") // this should give all img tags
喜欢。
我建议这样做,因为似乎 rss 提供了一些 html 内容;)
所以得到xml,
使用 XMLDoc 解析获取您需要的 html 内容
然后通过这个获取所有图像。
公开答案。
评论后我认为只需要正则表达式;
我的模式是
<img.+?src=[\"'](.+?)[\"'].*?>
用于输入
<img src='img1single.jpg'>
<img src="img2double.jpg">
结果看起来不错
在 .net 中,您必须通过 foreach 通过
.Groups[1].Value
问候。