ホームページ  >  記事  >  バックエンド開発  >  golang で正規表現を使用して URL アドレスがファーストレベル ドメイン名であるかどうかを確認する方法

golang で正規表現を使用して URL アドレスがファーストレベル ドメイン名であるかどうかを確認する方法

WBOY
WBOYオリジナル
2023-06-24 11:19:021294ブラウズ

golang では、正規表現を使用して第 1 レベルのドメイン名を検証するのは非常に簡単です。まず、第 1 レベルのドメイン名とは何かを理解する必要があります。

第 1 レベル ドメイン名は、インターネット ドメイン名の中で最も高いレベルのドメイン名を指します。通常は 1 つの単語または略語で構成されます。たとえば、google.com の com は第 1 レベル ドメイン名です。したがって、検証する URL アドレスは、www.google.com または abc.baidu.com のような形式である必要があります。

次に、検証に golang の正規表現ライブラリ regexp を使用します。以下はサンプル コードです。

package main

import (
    "fmt"
    "regexp"
)

func main() {
    re := regexp.MustCompile(`^[a-zA-Z0-9]+(.[a-zA-Z0-9]+)*.[a-zA-Z]{2,}$`)

    urls := []string{"www.google.com", "abc.baidu.com", "www.google.cn", "abc.baidu.cn", "www.123.com", "www.google", "www.google."}

    for _, url := range urls {
        if re.MatchString(url) {
            fmt.Println(url, "是一级域名")
        } else {
            fmt.Println(url, "不是一级域名")
        }
    }
}

上記のコードでは、最初に正規表現 re を定義します。これは、第 1 レベルのドメイン名形式に準拠する URL アドレスと一致します。次に、テスト用の文字列スライス urls を定義しました。これには、第 1 レベルのドメイン名の形式に準拠する URL アドレスと、形式に準拠しない URL アドレスが含まれます。最後に、for ループを使用してスライス内の各 URL アドレスを走査し、 re.MatchString 関数を使用してそれが第 1 レベルのドメイン名であるかどうかを確認します。

このコードの出力結果は次のとおりです:

www.google.com 是一级域名
abc.baidu.com 是一级域名
www.google.cn 是一级域名
abc.baidu.cn 是一级域名
www.123.com 是一级域名
www.google 不是一级域名
www.google. 不是一级域名

出力結果から、第 1 レベルのドメイン名形式に準拠する URL アドレスは正常に検証されていますが、検証されていないことがわかります。第 1 レベルのドメイン名の形式に準拠しており、URL アドレスは除外されます。

要約すると、golang で正規表現ライブラリ regexp を使用して、URL アドレスが第 1 レベルのドメイン名であるかどうかを確認するのは非常に簡単です。適切な正規表現を定義し、 re.MatchString 関数を使用してそれを検証するだけです。この記事が皆さんのお役に立てれば幸いです!

以上がgolang で正規表現を使用して URL アドレスがファーストレベル ドメイン名であるかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。