首页 > 解决方案 > Lua url 模式匹配

问题描述

我有以下 URI:

我尝试使用/v1/resource1and/v1/resource/+作为几个模式,但第二个模式匹配第二个和第三个 URI

我希望有 3 个单独的模式分别与上述 URI 匹配。我正在使用 string.match 函数进行模式匹配。

有人可以帮我解决 Lua 模式吗?

谢谢

标签: lualua-patterns

解决方案


您可以使用

string.match("/v1/resource1", "^/v1/resource%d*$")
string.match("/v1/resource1/{uuid}", "^/v1/resource1/[^/]*$")
string.match("/v1/resource1/{uuid}/resource2", "^/v1/resource1/[^/]*/[^/]*$")

查看在线 Lua 演示

最后的图案细节

  • ^- 字符串的开始
  • /v1/resource1/- 文字字符串
  • [^/]*- 0 个或更多字符/
  • /- 一个/字符
  • [^/]*- 0 个或更多字符/
  • $- 字符串结束。

推荐阅读