golang では、正規表現を使用して入力が完全な URL アドレスであるかどうかを確認することが非常に重要です。正規表現は、文字列内のテキスト パターンを照合するために使用できる記述言語です。入力が特定の形式に準拠しているかどうかを確認する必要がある場合、正規表現を使用すると、入力が正しいかどうかを迅速に判断できます。では、golang で正規表現を使用して、入力が完全な URL アドレスであるかどうかを確認するにはどうすればよいでしょうか?この記事ではそれについて説明します。
まず、URL アドレスの基本的な形式を理解する必要があります。URL には次の部分が含まれます:
これらのセクションには、プロトコルとホスト名を含める必要があります。したがって、正規表現を使用して、入力文字列にこれら 2 つの部分が含まれているかどうかを確認できます。 golang の組み込み正規表現パッケージ regexp を使用して、入力文字列が必要な形式と一致するかどうかを照合できます。
サンプル コードは次のとおりです。
package main import ( "fmt" "regexp" ) func main() { str := "https://www.example.com/index.html?id=1&name=Tom#top" pattern := `^(http|https)://[a-zA-Z0-9]+(.[a-zA-Z0-9]+)+([a-zA-Z0-9-._?,'+/\~:#[]@!$&*])*$` match, err := regexp.MatchString(pattern, str) if err != nil { fmt.Printf("Error: %s ", err) return } if match { fmt.Println("Valid URL") } else { fmt.Println("Invalid URL") } }
このコードでは、正規表現 ^(http|https)://[a-zA-Z0-9] を使用します。 (.[a-zA-Z0-9] ) ([a-zA-Z0-9-._?,' /\~:#[]@!$&*])*$
入力と一致します文字列。このうち、# は文字列の先頭を表し、
$
は文字列の末尾を表し、http|https
は http または https プロトコルの一致を表し、[a-zA- Z0-9] (.[a-zA-Z0-9] )
はホスト名と一致することを意味します [a-zA-Z0-9-._?,' /\ ~:#[]@! $&*]
は、パス、クエリ文字列、フラグメントなど、URL 内の他の部分と一致することを意味します。
マッチングに成功した場合は「有効な URL」が出力され、そうでない場合は「無効な URL」が出力されます。
この正規表現は、URL の形式が正しいかどうかを単に検証するものであり、URL の存在を検証するものではないことに注意してください。 URL の存在を確認する必要がある場合は、他の方法を使用する必要があります。
つまり、正規表現を使用して入力が完全な URL アドレスであるかどうかを確認することで、入力が特定の形式に準拠しているかどうかを迅速に判断するのに役立ちます。 golang では、正規表現を検証するために regexp パッケージを使用するのは非常に簡単で、MatchString 関数を使用するだけです。
以上がgolang で正規表現を使用して、入力が完全な URL アドレスであるかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。