ホームページ  >  記事  >  バックエンド開発  >  Go 言語で正規表現を使用して文字列が有効な URL かどうかを判断する方法

Go 言語で正規表現を使用して文字列が有効な URL かどうかを判断する方法

WBOY
WBOYオリジナル
2023-07-12 15:12:071788ブラウズ

Go 言語で正規表現を使用して文字列が正当な URL かどうかを判断する方法

日常のプログラム開発では、文字列が正当な URL かどうかを判断する必要があることがよくあります。 Go 言語は正規表現をサポートしており、正規表現を使用して URL の正当性を判断できます。以下では、Go 言語の正規表現を使用して文字列が正当な URL かどうかを判断する方法をコード例を添付して紹介します。

まず、Go 言語の正規表現ライブラリ regexp をインポートする必要があります。コードは次のとおりです。

import (
    "regexp"
)

次に、URL を表すために使用される正規表現を定義する必要があります。 URL の正規表現にはさまざまな形式がありますが、ここでは単純な正規表現を使用して URL の正当性を判断します。コードは次のとおりです。

var urlRegex = regexp.MustCompile(`^(http|https)://[a-zA-Z0-9-.]+.[a-zA-Z0-9]{2,}(:[0-9]{2,5})?(/[a-zA-Z0-9#]+/?)*(?.+)?$`)

上記の正規表現の意味は次のとおりです。

  • ^(http|https): http または https で始まります。
  • ##://: :// 文字と一致します;
  • [a-zA-Z0-9-.] : 1 つまたはドメイン名を示すその他の文字と数字、ハイフンとドットの組み合わせ;
  • .[a-zA-Z0-9]{2,}: の 1 つ以上の組み合わせと一致します。トップレベル ドメイン名を示す文字と数字;
  • (:[0-9]{2,5})?: ポートを示す 1 つ以上の数字の組み合わせと一致します。番号。この部分は省略できます;
  • (/[a-zA-Z0-9#] /?)*: 文字、数字、# 文字の 1 つ以上の組み合わせに一致し、パス 。パス部分は省略できます;
  • (?. )?: クエリ パラメータを示す ? で始まる文字と一致します。この部分は省略可能です;
  • $: 文字列の終わりを示します。

次に、指定された文字列が正当な URL かどうかを判断する関数を作成できます。コードは以下のとおりです。

func isURLValid(url string) bool {
    return urlRegex.MatchString(url)
}

上記関数は、正規表現のMatchStringメソッドを使用して一致判定を行っています。指定された文字列が正規表現の規則に準拠している場合は true を返し、そうでない場合は false を返します。

以下は、上記の関数を使用して文字列が正当な URL かどうかを判断する方法を示すサンプル プログラムです。コードは次のとおりです。

package main

import (
    "fmt"
    "regexp"
)

var urlRegex = regexp.MustCompile(`^(http|https)://[a-zA-Z0-9-.]+.[a-zA-Z0-9]{2,}(:[0-9]{2,5})?(/[a-zA-Z0-9#]+/?)*(?.+)?$`)

func isURLValid(url string) bool {
    return urlRegex.MatchString(url)
}

func main() {
    url := "https://www.example.com"
    fmt.Printf("The URL '%s' is valid: %v
", url, isURLValid(url))

    url = "invalid_url"
    fmt.Printf("The URL '%s' is valid: %v
", url, isURLValid(url))
}

上記のサンプル プログラムを実行すると、次の結果が出力されます。

The URL 'https://www.example.com' is valid: true
The URL 'invalid_url' is valid: false

上記の例を通じて、正規表現を使用して、正規表現が正しいかどうかを判断する方法を確認できます。 string は有効な URL です。実際の開発では、必要に応じて正規表現ルールを調整して判断することができます。もちろん、他の方法を使用して文字列が正当な URL かどうかを判断することもできます。正規表現はその 1 つにすぎません。

以上がGo 言語で正規表現を使用して文字列が有効な URL かどうかを判断する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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