, если вы хотите получить
"/7eb17cc6-b3c9-4ebd-945b-c0e0656a33f0/output/9999.317528060546245771146821638997525068657/"
из
"/tmp/xjtscpdownload/7eb17cc6-b3c9-4ebd-945b-c0e0656a33f0/output/9999.317528060546245771146821638997525068657/"
или, скажем, 7eb17cc6-b3c9-4ebd-945b-c0e0656a33f0
, output
и 9999.317528060546245771146821638997525068657
, как это что предлагает ваша попытка шаблона. В противном случае оставьте круглые скобки в следующем решении.
Вы можете использовать такой шаблон:
local text = "/tmp/xjtscpdownload/7eb17cc6-b3c9-4ebd-945b-c0e0656a33f0/output/9999.317528060546245771146821638997525068657/"
print(text:match("/([%x%-]+)/([^/]+)/([^/]+)"))
"/([^/]+)/"
захватывает хотя бы один не-SLA sh -символ между двумя косые черты.
При вашей попытке:
Вы не можете указывать такие числа, как {4}
в строковом шаблоне.
Вам нужно избежать -
с %
, так как это магический символ c.
(.)
захватит только один символ.
Прочтите Lua руководство , чтобы выясните, что вы сделали не так и как правильно использовать строковые шаблоны.