Kal*_*ina 3 regex xml string escaping go
我正在解析来自几个不同来源的 xml rss 提要,我想在 html 中找到图像。
我做了一些研究,发现了一个我认为可能有用的正则表达式
/<img[^>]+src="?([^"\s]+)"?\s*\/>/g
Run Code Online (Sandbox Code Playgroud)
但我在 go 中使用它时遇到问题。它给了我错误,因为我不知道如何使用该表达式进行搜索。
我尝试将它用作字符串,它不能用单引号或双引号正确转义。我试过就这样使用它,光秃秃的,但它给了我一个错误。
有任何想法吗?
使用适当的 html 解析器总是更好地解析 html,但是廉价/hackish 正则表达式也可以正常工作,这是一个例子:
var imgRE = regexp.MustCompile(`<img[^>]+\bsrc=["']([^"']+)["']`)
// if your img's are properly formed with doublequotes then use this, it's more efficient.
// var imgRE = regexp.MustCompile(`<img[^>]+\bsrc="([^"]+)"`)
func findImages(htm string) []string {
imgs := imgRE.FindAllStringSubmatch(htm, -1)
out := make([]string, len(imgs))
for i := range out {
out[i] = imgs[i][1]
}
return out
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2698 次 |
| 最近记录: |