Skip to content
master
Go to file
Code

Latest commit

This leads to far more false positives than negatives. It is useful to
allow other punctuation characters, such as '\'' or ',', since they do
come up in plain English URLs quite often, such as Wikipedia pages.

Double quote '"' characters come up far less often, and they cause
problems far more often, such as in JSON or source code strings which
contain URLs.

Let's remove them and see how many users complain.

Fixes #41.
fc3cc2c

Git stats

Files

Permalink
Failed to load latest commit information.

README.md

xurls

GoDoc

Extract urls from text using regular expressions. Requires Go 1.13 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.

Note that calling the exposed functions means compiling a regular expression, so repeated calls should be avoided.

cmd/xurls

To install the tool globally:

cd $(mktemp -d); go mod init tmp; GO111MODULE=on go get mvdan.cc/xurls/v2/cmd/xurls
$ echo "Do gophers live in http://golang.org?" | xurls
http://golang.org
You can’t perform that action at this time.