プログラミングでは、URL アドレスが第 9 レベル ドメイン名であるかどうかを検証する必要があることがよくありますが、この場合、正規表現を使用して検証できます。この記事では、golang で正規表現を使用して URL アドレスが第 9 レベル ドメイン名であるかどうかを確認する方法を紹介します。
golang で正規表現を使用するには、通常、「regexp」パッケージの導入が必要です。このパッケージは、正規表現を表すための Regexp 構造を提供します。この構造体を使用した MatchString メソッドは、通常のマッチングに使用できます。
まず、URL アドレスが正しい形式であることを確認する必要があります。一般に、URL アドレスは、プロトコル、ドメイン名、パスなどの複数の部分で構成されている必要があります。ここでは、URL アドレスの「ドメイン名」部分が第 9 レベルのドメイン名であるかどうかのみを確認します。
第 9 レベルのドメイン名は、各部分が「.」で区切られた 9 つの部分で構成される特別なドメイン名を指します。例: www.example.com.cn 第 9 レベルのドメイン名の各部分は、英語の文字、数字、または水平線で構成されます。各部分は 63 文字以内にする必要があります。ドメイン名全体の長さは 255 文字を超えることはできません。
次は、第 9 レベルのドメイン名に一致する正規表現の例です。
^([a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9].)+[a-zA-Z]{2,}.$
このうち、"^" は一致する文字列の先頭を示し、"$" は一致する文字列の先頭を示します。一致する文字列の終わり。かっこは正規表現のグループを表し、「[a-zA-Z0-9]」は文字または数字の一致を表し、「-」はハイフン文字の一致を表します。 「{0,61}」は、0 ~ 61 文字と一致することを意味します。 「[a-zA-Z]{2,}」は、少なくとも 2 つの文字を一致させて、それが合法的なトップレベル ドメイン名であることを確認することを意味します。 「.」はピリオドと一致することを意味します。
次は、正規表現を使用して URL アドレスが第 9 レベルのドメイン名であるかどうかを確認するサンプル コードです:
package main import ( "fmt" "regexp" ) func main() { // 定义正则表达式 pattern := "^([a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]\.)+[a-zA-Z]{2,}\.$" reg := regexp.MustCompile(pattern) // 测试数据 url1 := "www.example.com.cn." url2 := "www.google.com." url3 := "www.123456789012345678901234567890123456789012345678901234567890123.com." url4 := "www.abcdefg-12345.com." // 验证URL是否为九级域名 fmt.Printf("%s is a nine-level domain? %t ", url1, reg.MatchString(url1)) fmt.Printf("%s is a nine-level domain? %t ", url2, reg.MatchString(url2)) fmt.Printf("%s is a nine-level domain? %t ", url3, reg.MatchString(url3)) fmt.Printf("%s is a nine-level domain? %t ", url4, reg.MatchString(url4)) }
出力結果は次のとおりです:
www.example.com.cn. is a nine-level domain? true www.google.com. is a nine-level domain? false www.123456789012345678901234567890123456789012345678901234567890123.com. is a nine-level domain? false www.abcdefg-12345.com. is a nine-level domain? true
Asご覧のとおり、最初と最後の URL アドレスは第 9 レベルのドメイン名であると正しく判断され、2 番目と 3 番目の URL アドレスは非第 9 レベルのドメイン名であると判断されました。
つまり、golang で正規表現を使用すると、URL アドレスが第 9 レベルのドメイン名であるか、またはその他の形式要件であるかを簡単に検証できます。実際のアプリケーションでは、照合の必要に応じて、対応する正規表現を定義できます。
以上がgolang で正規表現を使用して URL アドレスが第 9 レベルのドメイン名であるかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。