带preg_match的Go路由器

带preg_match的Go路由器,go,Go,我正在尝试重写一个路由器,如果请求uri与模式匹配,它将调用特定的函数。 它应接受以下路线: |^/v2/Command/create$| |^/([^/]+)/postCommands$| |^/v2/user/sessions/(.+)/.+| 还有一些其他的,它应该是可伸缩的,因此新路线可以简单地添加到地图中 现在它是通过preg\u match($pattern,$\u SERVER['REQUEST\u URI'],$params)在PHP上完成的。 有没有一种方法可以在旅途中做一些

我正在尝试重写一个路由器,如果请求uri与模式匹配,它将调用特定的函数。 它应接受以下路线:

|^/v2/Command/create$|
|^/([^/]+)/postCommands$|
|^/v2/user/sessions/(.+)/.+|
还有一些其他的,它应该是可伸缩的,因此新路线可以简单地添加到地图中 现在它是通过
preg\u match($pattern,$\u SERVER['REQUEST\u URI'],$params)在PHP上完成的。

有没有一种方法可以在旅途中做一些有趣的事情?

https://github.com/gorilla/mux
在这方面应该会对您有很大帮助

r := mux.NewRouter()
r.HandleFunc("/products/{key}", ProductHandler)
r.HandleFunc("/articles/{category}/", ArticlesCategoryHandler)
r.HandleFunc("/articles/{category}/{id:[0-9]+}", ArticleHandler)

vars := mux.Vars(request)
category := vars["category"]

Regexp.FindAllStringSubmatch不能为您做什么?你试过了吗?