为了账号安全,请及时绑定邮箱和手机立即绑定

使用正则表达式和 golang 选择 jpg 图像

使用正则表达式和 golang 选择 jpg 图像

Go
料青山看我应如是 2022-08-24 16:07:07
我有一个将jpg文件与正则表达式和golang匹配的示例。正则表达式示例它完美地选择了它,但与我想要的相反,它删除了它而不是保留它。我如何让它成为替代,因为目前你会看到它删除了jpg链接,并将其余部分留在我想要的相反的地方,只留下jpg链接。这用于xpath抓取器,我希望它仅通过jpg链接。
查看完整描述

2 回答

?
月关宝盒

TA贡献1772条经验 获得超5个赞

您可以使用 [1]:FindStringSubmatch


package main

import "regexp"


const (

s = "background-color:#000000; background-image:url(https://www.sample.com/free-videos/player-images/20170204-01.jpg); background-size: cover; position: relative;"

)


func main() {

   a := regexp.MustCompile(`\(([^)]+)\)`).FindStringSubmatch(s)

   t := a[1]

   println(t == "https://www.sample.com/free-videos/player-images/20170204-01.jpg")

}

但是,在实际代码中,请确保测试 。这是一个非常常见的任务,所以如果你感兴趣,也可以使用模块[2]。len(a)xurls


https://golang.org/pkg/regexp#Regexp.FindStringSubmatch

https://pkg.go.dev/mvdan.cc/xurls/v2


查看完整回答
反对 回复 2022-08-24
?
杨魅力

TA贡献1811条经验 获得超6个赞

您可以使用

.*?(https?:\/\/\S*\.jpg).*

替换为 。$1

请参阅正则表达式演示

详细信息

  • .*?- 除换行符以外的任何零个或多个字符,尽可能少

  • (https?://\S*\.jpg)- 组 1 (): ,一个可选的 , ,零个或多个非空格字符,然后是一个子字符串$1https://.jpg

  • .*- 除换行符以外的任何零个或多个字符,尽可能多


查看完整回答
反对 回复 2022-08-24
  • 2 回答
  • 0 关注
  • 166 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号