亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從 URL 檢索域?

如何從 URL 檢索域?

Go
小唯快跑啊 2022-09-26 14:47:54
在 Go 中,如何僅從 URL 字符串中提取域名?以前:https://www.example.com/some-random-urlwww.example.com/some-random-urlexample.com/some-random-urlwww.example.comsubdomain.example.com后:example.com另外,我僅限于使用Golang標準庫。
查看完整描述

2 回答

?
胡子哥哥

TA貢獻1825條經驗 獲得超6個贊

我認為由于您的示例也有不正確的URL,因此您需要使用常規表達來提取URL中的域。請查找下面的示例代碼,以獲取您共享的示例的域:


package main


import (

    "fmt"

    "regexp"

)


// Main function

func main() {


    // Finding regexp from the given string

    // Using FindString() method

    m := regexp.MustCompile(`\.?([^.]*.com)`)


    fmt.Println(m.FindStringSubmatch("https://www.example.com/some-random-url")[1])

    fmt.Println(m.FindStringSubmatch("www.example.com/some-random-url")[1])

    fmt.Println(m.FindStringSubmatch("example.com/some-random-url")[1])

    fmt.Println(m.FindStringSubmatch("www.example.com")[1])

    fmt.Println(m.FindStringSubmatch("subdomain.example.com")[1])


}

理想情況下,這涵蓋了所有情況(包括格式不正確的URL)。如果有任何 URL 未正確解析,您可以輕松更新正則表達式。


去游樂場鏈接以上:這里。


查看完整回答
反對 回復 2022-09-26
?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

我終于想通了。


package main


import (

    "fmt"

    "log"

    "net/url"

    "strings"

)


func main() {

    url, err := url.Parse("https://www.example.com")

    if err != nil {

        log.Fatal(err)

    }

    parts := strings.Split(url.Hostname(), ".")

    domain := parts[len(parts)-2] + "." + parts[len(parts)-1]

    fmt.Println(domain)

}

example.com


如果域名是這樣的,它會給你一個恐慌。subdomain.example.com


https://play.golang.org/p/Li0PviAr2jU


查看完整回答
反對 回復 2022-09-26
  • 2 回答
  • 0 關注
  • 118 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號