Popularity
7.4
Stable
Activity
4.9
-
811
19
93

Programming language: Go
License: BSD 3-clause "New" or "Revised" License
Tags: Utility     Text Processing    
Latest version: v2.2.0

xurls alternatives and similar packages

Based on the "Utility" category.
Alternatively, view xurls alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of xurls or a related project?

Add another 'Utility' Package

README

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