Но я думаю, было бы лучше иметь универсальный шаблон, который работает для всех строк, имеющих одинаковую структуру.Поэтому вам следует избегать буквенных строк внутри шаблона (за исключением того, что вы ищете именно это).
list_url = {'/v1/resource1','/v1/resource1/{uuid}','/v1/resource1/{uuid}/resource2'}
patt1 = '^/[^/]+/[^/]+'
patt2 = patt1..'/%{[^}]+}'
patt3 = patt2..'/[^/]+'
for _, url in pairs(list_url) do
print(url)
print('\t', url:match(patt1..'$'))
print('\t', url:match(patt2..'$'))
print('\t', url:match(patt3..'$'))
end
output:
/v1/resource1
/v1/resource1
nil
nil
/v1/resource1/{uuid}
nil
/v1/resource1/{uuid}
nil
/v1/resource1/{uuid}/resource2
nil
nil
/v1/resource1/{uuid}/resource2