ホームページ  >  記事  >  バックエンド開発  >  golang で正規表現を使用して URL ドメイン名を検証する方法

golang で正規表現を使用して URL ドメイン名を検証する方法

王林
王林オリジナル
2023-06-24 11:42:562195ブラウズ

正規表現を使用して golang で URL ドメイン名を検証することは、非常に一般的なタスクです。これは通常、URL から抽出されたドメイン名が有効かつ合法であることを確認する必要があるためです。この記事では、正規表現を使用して URL ドメイン名を検証する方法について説明します。

まず、Golang の正規表現パッケージをインポートする必要があります。コードは次のとおりです:

import "regexp"

次に、URL ドメイン名を検証するための正規表現が必要です。ここでは、単純な正規表現を使用します。

var domainRegex = regexp.MustCompile(`^[a-zA-Zd-]+(.[a-zA-Zd-]+)*.[a-zA-Z]{2,}$`)

この正規表現は、ドット区切り文字に含まれるドメイン名、および英数字やハイフンを含む任意の文字と一致します。このドメイン名のトップレベル ドメイン名は 2 文字以上で構成されている必要があります。

これで、この正規表現を使用して、指定されたドメイン名を検証できるようになります。次のコードを使用できます。

func IsValidDomain(domain string) bool {
  return domainRegex.MatchString(domain)
}

この関数は、指定されたドメイン名が有効かどうかを示すブール値を返します。有効な場合は True を返し、そうでない場合は False を返します。

完全なサンプル コードは次のとおりです:

package main

import (
  "fmt"
  "regexp"
)

var domainRegex = regexp.MustCompile(`^[a-zA-Zd-]+(.[a-zA-Zd-]+)*.[a-zA-Z]{2,}$`)

func IsValidDomain(domain string) bool {
  return domainRegex.MatchString(domain)
}

func main() {
  domains := []string{"github.com", "www.google.com", "bbc.co.uk", "123.45.67.89", "not.a.valid.domain"}
 
  for _, domain := range domains {
    if IsValidDomain(domain) {
      fmt.Println(domain, "is a valid domain")
    } else {
      fmt.Println(domain, "is not a valid domain")
    }
  }
}

このコードを実行すると、ドメイン名のリストが検証されます。このリストでは、最初の 3 つのドメイン名が有効です。 4 番目は IP アドレスであり、有効なドメイン名ではありません。最後のドメイン名には無効な文字が含まれているため、有効なドメイン名ではありません。

概要:

上記は、golang で正規表現を使用して URL ドメイン名を確認する方法です。このようにして、ドメイン名が有効かつ合法であるかどうかを簡単に確認できます。これは、Web アプリケーションを実装する際の重要なステップになります。これで、このような状況に遭遇したときに何をすべきかがわかりました。

以上がgolang で正規表現を使用して URL ドメイン名を検証する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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