Golang は、Web アプリケーションの作成によく使用される効率的なプログラミング言語です。 Web アプリケーションでは、URL アドレスが目標と一致していることを確認するために、URL アドレスを検証する必要があることがよくあります。この記事では、Golang で正規表現を使用して URL アドレスが HTTPS プロトコルであるかどうかを確認する方法を紹介します。
まず、HTTPS プロトコルの URL 形式を理解する必要があります。 HTTPS プロトコル URL は HTTP プロトコル URL の一部を継承しますが、いくつかの独自の特性があります。 HTTPS プロトコル URL の基本形式は次のとおりです:
https://<host>:<port>/<path>?<query>#<fragment>
ここで、<host>
はホスト名を表し、ドメイン名または IP アドレスにすることができます。 はポート番号、デフォルトは 443、
はサーバー上のリソースを指すパス、
はクエリ パラメータ、次の目的で使用されます。追加情報をサーバーに渡します。
はフラグメントであり、ページ内の特定の部分を見つけるために使用されます。
import "regexp" func IsHTTPS(url string) bool { pattern := `^https://[^/:]+(:d*)?(/.*)?$` re := regexp.MustCompile(pattern) return re.MatchString(url) }
pattern を定義します。パターンには次の部分が含まれます:
regexp パッケージを使用して正規表現パターンをコンパイルし、変数
re に保存します。次に、
MatchString 関数を使用して、受信 URL 文字列がパターンと一致するかどうかをテストします。一致が成功した場合は
true が返され、それ以外の場合は
false が返されます。
func main() { testCases := []string{ "https://www.example.com", "https://www.example.com/", "https://www.example.com:8443", "https://www.example.com:8443/", "https://www.example.com/foo/bar.html", "https://www.example.com/foo/bar.html?param=value", } for _, url := range testCases { if IsHTTPS(url) { fmt.Printf("%s is valid HTTPS URL ", url) } else { fmt.Printf("%s is not valid HTTPS URL ", url) } } }
IsHTTPS を呼び出して、それが HTTPS プロトコルの形式であるかどうかをテストします。そうである場合は、アドレスが有効な HTTPS URL であることを示すメッセージを出力します。そうでない場合は、アドレスが有効な HTTPS URL ではないことを示すメッセージを出力します。
https://www.example.com is valid HTTPS URL https://www.example.com/ is valid HTTPS URL https://www.example.com:8443 is valid HTTPS URL https://www.example.com:8443/ is valid HTTPS URL https://www.example.com/foo/bar.html is valid HTTPS URL https://www.example.com/foo/bar.html?param=value is valid HTTPS URL
IsHTTPS を作成しました。他のタイプの URL アドレスを検証する必要がある場合は、必要に応じてパターンを自由に変更してください。
以上がgolangで正規表現を使用してURLアドレスがHTTPSプロトコルであるかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。