1 回答
TA贡献1789条经验 获得超8个赞
用于匹配行首和行尾的元字符^和$元字符应该被删除,括号也可以。
route := router.Host(`prefix.api{_:|\.sandbox}.example.com`)`
我的主机文件:
○ grep prefix /etc/hosts
127.0.0.1 prefix.api.example.com
127.0.0.1 prefix.api.sandbox.example.com
127.0.0.1 prefix.api.xsandbox.example.com
给了我以下内容:
○ curl prefix.api.example.com:8000
hello world%
○ curl prefix.api.sandbox.example.com:8000
hello world%
○ curl prefix.api.xsandbox.example.com:8000
404 page not found
更新:
这是两个不同.Host()的生成的正则表达式:
route := router.Host(`prefix.api{_:(^$|^\.sandbox$)}.example.com`)
正则表达式: ^prefix\.api(?P<v0>(^$|^\.sandbox$))\.example\.com$
route := router.Host(`prefix.api{_:|\.sandbox}.example.com`)
正则表达式: ^prefix\.api(?P<v0>|\.sandbox)\.example\.com$
两个正则表达式的示例测试都可以 在 play.golang 中使用
- 1 回答
- 0 关注
- 199 浏览
添加回答
举报
