Go での正規表現による URL のマッチング
Go では、http.HandleFunc() は特定の URL パターンを処理するように設計されています。ただし、正規表現を使用したパターンのマッチングには適していません。
代替ソリューション:
代わりに、次のソリューションを検討してください:
// 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")) } }
たとえば、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 サイトの他の関連記事を参照してください。