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 サイトの他の関連記事を参照してください。