golang从网址url中提取域名
场景是这样的,项目有个从网址中提取域名的需求。go语言没有现成的方法获取域名,所以需要自己实现。
我们知道通过正则表达式可以实现对字符匹配,而url具有统一的标准,很适合用正则来匹配domain。
下面是go实现的代码:
package main
import (
"fmt"
"regexp"
)
func main() {
patt :=`^((http://)|(https://))?([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}(/)`
reg := regexp.MustCompile(patt)
url := "http://tl.beer/timestamp.html"
domain := reg.FindString(url)
fmt.Println(domain)
}
输出结果: http://tl.beer/