为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
阿晨1998 2021-11-08 18:51:24
我的代码中有这个正则表达式: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"))我想知道我的新正则表达式有什么问题。我尝试在一些网站上测试它regexp,并在 Go 中使用该包,它总是有效。据我所知,gorilla/mux使用的是 Go 的regexp包。任何的想法?我想要的是检测不包括零的正整数。
查看完整描述

2 回答

?
MYYA

TA贡献1868条经验 获得超4个赞

是最有可能的问题,在这里,你想在断言字符串位置的开始/结束。

我会简单地尝试修改旧的(工作)正则表达式如下:

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


查看完整回答
反对 回复 2021-11-08
?
慕斯709654

TA贡献1840条经验 获得超5个赞

如果要检测不包括 0 的正整数,则应使用此字符类: [1-9]\d*

这意味着,第一个数字必须介于 1 和 9 之间。其他数字(如果存在,请查看*)可以是任何整数,包括 0。


查看完整回答
反对 回复 2021-11-08
  • 2 回答
  • 0 关注
  • 207 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信