インターネットの発展に伴い、Web サイトの数はますます増え、URL も多様化しています。ただし、企業 Web サイトなどの重要な Web サイトの場合、ドメイン名の選択は非常に重要です。 Web サイトのセキュリティと安定性を高めるために、一部の企業は第 10 レベルのドメイン名を使用することを選択します。では、golang で正規表現を使用して、URL アドレスが第 10 レベルのドメイン名であるかどうかを確認するにはどうすればよいでしょうか?この記事ではその方法を説明します。
1.第 10 レベルのドメイン名とは何ですか?
インターネットでは、ドメイン名は Web サイトにアクセスするための手段です。通常、ドメイン名と呼ばれるものは、baidu.com などの第 1 レベルと第 2 レベルのドメイン名です。第 10 レベルのドメイン名は、第 1 レベルと第 2 レベルのドメイン名に基づいて 8 つのサブドメイン名を追加したものです (例: www.a.b.c.d.e.f.g.h.i.com)。
2. 正規表現を使用して URL アドレスが第 10 レベルのドメイン名であるかどうかを確認する
正規表現を使用して、URL が第 10 レベルのドメイン名であるかどうかを確認できます。 golang では、「regexp」パッケージを使用して正規表現検証を実装できます。具体的な実装は次のとおりです。
package main import ( "fmt" "regexp" ) func verifyURL(url string) bool { format := `^(?:[a-z0-9]+.){9}[a-z]{2,4}$` match, _ := regexp.MatchString(format, url) return match } func main() { url1 := "www.a.b.c.d.e.f.g.h.i.com" url2 := "www.a.b.c.d.e.f.g.h.i.cn" url3 := "www.a.b.c.d.e.f.g.h.i.cn/index.html" fmt.Println(verifyURL(url1)) // true fmt.Println(verifyURL(url2)) // true fmt.Println(verifyURL(url3)) // false }
上記のコードでは、正規表現文字列 "^(?:[a-z0-9] .){9}[a-z]{2,4} を使用します。 $" は、URL アドレスが第 10 レベルのドメイン名であるかどうかを確認します。このうち、「^」は文字列の先頭を表し、「(?:[a-z0-9] .){9}」は 1 つ以上の文字または数字とピリオドの一致を表し、8 つのサブドメイン名との一致を表します。最終的には、トップレベル ドメイン名「[a-z]{2,4}」と一致します。この正規表現は文字列全体と一致するため、先頭に「(?:」を付けると一致を行わずにグループ化のみを行うことを示し、最後に「$」を付けると文字列の終わりを示します。注意事項
正規表現を使用して URL アドレスが第 10 レベルのドメイン名であるかどうかを確認する場合は、次の点に注意する必要があります。検証中に URL に含まれるプロトコル。例: http://www.a.b.c.d.e.f.g.h.i.com 検証するには、「http://」を削除する必要があります。
URL に
以上がgolang で正規表現を使用して URL アドレスが第 10 レベルのドメイン名であるかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。