regex - 我的(有效?)正则表达式在 gorilla/mux 中不起作用

标签 regex go gorilla

我的代码中有这个正则表达式:

get.HandleFunc("/my/api/user/{userID:^([1-9][0-9]*)$}", app.Handle("user"))

但是当我运行测试时,只返回 404。我也试过这个:

get.HandleFunc("/my/api/user/{userID:\\A([1-9][0-9]*)\\z}", app.Handle("user"))

它与我旧的(但不正确的)正则表达式完美配合:

get.HandleFunc("/my/api/user/{userID:[0-9]{1,}}", app.Handle("user"))

我想知道我的新正则表达式有什么问题。我尝试在一些网站上测试它,并在 Go 中使用 regexp 包,它总是有效。据我所知,gorilla/mux 使用 Go 的 regexp 包。有什么想法吗?

我想要的是检测不包括零的正整数。

最佳答案

anchors很可能是这里的问题,您正在尝试在字符串位置的开始/结束处断言。

我会简单地尝试修改旧的(有效的)正则表达式,如下所示:

get.HandleFunc("/my/api/user/{userID:[1-9][0-9]*}", app.Handle("user"))

关于regex - 我的(有效?)正则表达式在 gorilla/mux 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32799402/

相关文章:

go - MIME 类型 (“text/plain” )不匹配(X-Content-Type-Options : nosniff)

java - 为什么我会得到这个正则表达式的解析异常?

任何数字中的两个正则表达式,然后是另一个数字中的三个,然后是另一个数字中的四个?

go - Effective Go中的客户请求处理程序示例导致死锁?

Golang gorilla 希望在静态服务中使用尾部斜线

go - 使 golang Gorilla CORS 处理程序工作

php - 为什么非贪婪匹配会消耗整个模式,即使后面跟着另一个非贪婪匹配

Python 正则表达式不匹配。 (点)作为字符

go - Golang 上的十六进制求和

vue.js - 如何在Go Web服务器和Vue.js前端之间交换数据? http发布:404