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 关注
- 114 浏览
添加回答
举报