我的代码中有这个正则表达式:
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包。有什么想法吗?
我想要的是检测除零以外的正整数。
发布于 2015-09-26 16:46:57
anchors最有可能是这里的问题,您试图在字符串位置的开始/结束处断言。
我只需尝试修改旧的(工作的)正则表达式如下:
get.HandleFunc("/my/api/user/{userID:[1-9][0-9]*}", app.Handle("user"))发布于 2015-09-26 16:39:41
如果要检测除0以外的正整数,应使用以下字符类:[1-9]\d*
这意味着,第一个数字必须介于1到9之间。其他数字(如果存在,请看*)可以是任意整数,包括0。
https://stackoverflow.com/questions/32799402
复制相似问题