ホームページ > バックエンド開発 > Golang > Go で URL を正規表現と照合するにはどうすればよいですか?

Go で URL を正規表現と照合するにはどうすればよいですか?

DDD
リリース: 2024-12-10 16:09:14
オリジナル
348 人が閲覧しました

How to Match URLs with Regular Expressions in Go?

Go での正規表現による URL のマッチング

Go では、http.HandleFunc() は特定の URL パターンを処理するように設計されています。ただし、正規表現を使用したパターンのマッチングには適していません。

代替ソリューション:

代わりに、次のソリューションを検討してください:

  1. HandleFunc() with Rooted Subtree: ルート サブツリーにハンドラーを割り当てます
// Match everything
http.HandleFunc("/", route)

var rNum = regexp.MustCompile(`\d`)  // Has digit(s)

func route(w http.ResponseWriter, r *http.Request) {
    if rNum.MatchString(r.URL.Path) {
        digits(w, r)
    } else {
        w.Write([]byte("No digits found"))
    }
}
ログイン後にコピー
  1. 外部ライブラリ: Gorilla MUX (github. com/gorilla/mux)、ルーティングをより詳細に制御し、正規表現をサポートします。マッチング。

たとえば、Gorilla MUX の場合:

r := mux.NewRouter()
r.HandleFunc("/digits", digitsHandler).Methods("GET")
r.HandleFunc("/abc", abcHandler).Methods("POST")

http.Handle("/", r)
ログイン後にコピー

これらの各メソッドにより、特定の要件に基づいてより詳細な URL マッチングが可能になります。

以上がGo で URL を正規表現と照合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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