1 回答
TA贡献1831条经验 获得超9个赞
您可以使用regexp.FindStringSubmatch获取由您的单 URL 验证正则表达式产生的捕获值:
package main
import (
"fmt"
"regexp"
)
func main() {
markdownRegex := regexp.MustCompile(`^\[[^][]+]\((https?://[^()]+)\)$`)
results := markdownRegex.FindStringSubmatch("[https://imgur.com/abc](https://imgur.com/bcd)")
fmt.Printf("%q", results[1])
}
您可以考虑使用regexp.FindAllStringSubmatch来查找您需要的所有链接:
package main
import (
"fmt"
"regexp"
)
func main() {
markdownRegex := regexp.MustCompile(`\[[^][]+]\((https?://[^()]+)\)`)
results := markdownRegex.FindAllStringSubmatch("[https://imgur.com/abc](https://imgur.com/bcd) and [https://imgur.com/xyy](https://imgur.com/xyz)", -1)
for v := range results {fmt.Printf("%q\n", results[v][1])}
}
图案的意思是:
\[- 一个[字符[^][]+- 1+ 字符以外的[和]]\(-](子串(https?://[^()]+)- 第 1 组:http,然后是可选的s,然后是 子字符串,然后是除and之外的://1+ 个字符()\)- 一个)字符。
请参阅在线正则表达式演示。
- 1 回答
- 0 关注
- 248 浏览
添加回答
举报
