You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
李光春
649fd2b50f
|
2 years ago | |
---|---|---|
.. | ||
.gitignore | 2 years ago | |
.travis.yml | 2 years ago | |
LICENSE | 2 years ago | |
README.md | 2 years ago | |
regex.go | 2 years ago | |
schemes.go | 2 years ago | |
tlds.go | 2 years ago | |
tlds_pseudo.go | 2 years ago | |
xurls.go | 2 years ago |
README.md
xurls
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