golang正则表达式在字符串中查找网址

Mar*_*wan 4 regex go

我正在寻找一个字符串中的所有链接,然后
像这个 js lib https://github.com/bryanwoods/autolink-js一样超链接它们

我尝试使用很多正则表达式,但我总是遇到太多错误
http://play.golang.org/p/iQiccXvFiB
我不知道 go 是否有不同的正则表达式语法

所以,什么正则表达式在 go 中可以很好地匹配字符串中的 url

谢谢

Dan*_*rtí 8

您可以使用xurls

import "mvdan.cc/xurls"

func main() {
        xurls.Relaxed().FindString("Do gophers live in golang.org?")
        // "golang.org"
        xurls.Relaxed().FindAllString("foo.com is http://foo.com/.", -1)
        // ["foo.com", "http://foo.com/"]
        xurls.Strict().FindAllString("foo.com is http://foo.com/.", -1)
        // ["http://foo.com/"]
}
Run Code Online (Sandbox Code Playgroud)