Awesome Go

xurls

CategoryText Processing
SubcategoryScrapers
Stars0

Extract urls from text

About xurls

xurls

Go Reference

Extract urls from text using regular expressions. Requires Go 1.25 or later.

import "mvdan.cc/xurls/v2"

func main() {
	rxRelaxed := xurls.Relaxed()
	rxRelaxed.FindString("Do gophers live in golang.org?")  // "golang.org"
	rxRelaxed.FindString("This string does not have a URL") // ""

	rxStrict := xurls.Strict()
	rxStrict.FindAllString("must have scheme: http://foo.com/.", -1) // []string{"http://foo.com/"}
	rxStrict.FindAllString("no scheme, no match: foo.com", -1)       // []string{}
}

Since API is centered around regexp.Regexp, many other methods are available, such as finding the byte indexes for all matches.

The regular expressions are compiled when the API is first called. Any subsequent calls will use the same regular expression pointers.

cmd/xurls

To install the tool globally:

go install mvdan.cc/xurls/v2/cmd/xurls@latest
$ echo "Do gophers live in http://golang.org?" | xurls
http://golang.org

Frequently Asked Questions

What is xurls?

xurls is a Text Processing library for the Go programming language. Extract urls from text

How do I install xurls?

Install xurls with the Go module system using `go get mvdan/xurls`. Check the repository for the current installation instructions.

What category does xurls belong to?

xurls is listed under Text Processing, specifically Scrapers.

← Back to Scrapers