minecraft-ui / vendor / mvdan.cc / xurls /
Simon Lindgren authored on 10 Mar 2018
..
cmd/ xurls first commit 6 years ago
generate first commit 6 years ago
.gitignore first commit 6 years ago
.travis.yml first commit 6 years ago
LICENSE first commit 6 years ago
README.md first commit 6 years ago
example_test.go first commit 6 years ago
regex.go first commit 6 years ago
schemes.go first commit 6 years ago
tlds.go first commit 6 years ago
tlds_pseudo.go first commit 6 years ago
xurls.go first commit 6 years ago
xurls_test.go first commit 6 years ago
README.md

xurls

GoDoc Travis

Extract urls from text using regular expressions.

go get -u github.com/mvdan/xurls
import "github.com/mvdan/xurls"

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

Relaxed is around five times slower than Strict since it does more work to find the URLs without relying on the scheme:

BenchmarkStrictEmpty-4           1000000              1885 ns/op
BenchmarkStrictSingle-4           200000              8356 ns/op
BenchmarkStrictMany-4             100000             22547 ns/op
BenchmarkRelaxedEmpty-4           200000              7284 ns/op
BenchmarkRelaxedSingle-4           30000             58557 ns/op
BenchmarkRelaxedMany-4             10000            130251 ns/op

cmd/xurls

go get -u github.com/mvdan/xurls/cmd/xurls
$ echo "Do gophers live in http://golang.org?" | xurls
http://golang.org