golang で正規表現を使用して URL アドレスを検証する方法

王林
リリース: 2023-06-24 16:00:33
オリジナル
1740 人が閲覧しました

近年、インターネットの急速な発展により、私たちの生活はますますインターネットと切り離せないものになっています。インターネットを使用するとき、多くの場合、URL アドレスを入力または提供する必要があります。セキュリティと正確性を確保するために、入力された URL アドレスを確認する必要があります。この記事では、golang で正規表現を使用して URL アドレスを検証する方法を紹介します。

  1. URL アドレスの基本構成

標準 URL アドレスには次の部分が含まれます:

  • プロトコル: http、https など、ftp など
  • ドメイン名: www.example.com など。
  • ポート番号 (ポート): たとえば、https のデフォルトのポート番号は 443、http のデフォルトのポート番号は 80 です。
  • Path (パス): サーバー内の要求されたリソースのパス。
  • Parameter (パラメータ): ?key=value などのリクエストパラメータ。
  • アンカー: URL の内部ジャンプの場所識別子。
  1. 正規表現を使用して golang で URL アドレスを検証する

golang では、正規表現を使用して URL アドレスを検証できます。以下は、正規表現を使用して URL アドレスを検証するサンプル コードです。

package main

import (
    "fmt"
    "regexp"
)

func main() {
    // 定义正则表达式
    reg := regexp.MustCompile(`^(http|https)://[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+(:[0-9]+)?(/[a-zA-Z0-9_]+)*(?[a-zA-Z0-9_]+=[a-zA-Z0-9_]+(&[a-zA-Z0-9_]+=[a-zA-Z0-9_]+)*)?(#[a-zA-Z0-9_]+)?$`)

    // 测试数据
    url1 := "https://www.example.com/path?key=value#anchor"
    url2 := "http://www.example.com/path?key=value"
    url3 := "ftp://www.example.com:21/path"
    url4 := "https://www.example.com/path?key=value&key2=value2"

    // 进行验证
    fmt.Println(reg.MatchString(url1)) // true
    fmt.Println(reg.MatchString(url2)) // true
    fmt.Println(reg.MatchString(url3)) // true
    fmt.Println(reg.MatchString(url4)) // true
}
ログイン後にコピー

上記のサンプル コードでは、URL アドレスを検証するための正規表現を定義しました。この正規表現は、プロトコル、ドメイン名、ポート番号、パス、パラメータ、アンカーを含む URL アドレスを含む、ほとんどの URL アドレスと一致します。特別な検証を実行する必要がある場合は、それに応じて正規表現を変更できます。

正規表現を使用して URL アドレスを検証する場合、golang の regexp パッケージを使用できます。このパッケージには、正規表現を操作するための多くの関数とメソッドが用意されています。たとえば、MatchString メソッドは文字列の正規表現と一致します。

    #結論
正規表現を使用して URL アドレスを検証するのは、簡単で効果的な方法です。 golang では、正規表現を使用して URL アドレスを検証できます。この記事が皆様のお役に立てれば幸いです。読者の方がこの記事の内容について質問や提案がある場合は、コメント欄にメッセージを残してください。

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート