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

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

WBOY
WBOYオリジナル
2023-06-24 12:37:37732ブラウズ

インターネットの発展に伴い、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 に

  1. 4. 結論
  2. 上記の実装により、通常のドメイン名を使用できます。 golang の式を使用すると、URL アドレスが第 10 レベルのドメイン名であるかどうかを非常に簡単に検証できます。もちろん、URL アドレスの種類ごとに、検証に異なる正規表現を使用することもできます。正規表現は強力なツールであり、文字列を実装するときに非常に役立ちます検証に使用でき、golang で使用するのにも非常に便利です。

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

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