使用 lua 拆分字符串

Split String using lua

我需要 lua 代码来拆分 youtube 页面行并获取 youtube 视频标题和 ID。

所以我需要使用 lua 提取 id :r8ocUWwuJDg 和标题:"Farsa cu camera ascunsa / Tentatiile soldatilor" 像下一个一样形成一个字符串

</div><div class="yt-lockup-content"><h3 class="yt-lockup-title"><a href="/watch?v=r8ocUWwuJDg" class=" yt-ui-ellipsis yt-ui-ellipsis-2 yt-uix-sessionlink     spf-link " data-sessionlink="itct=CMwBEJQ1GAYiEwia-4r23Z7FAhVD3xwKHSUQAKQojh4yCmctaGlnaC1yZWM" title="Farsa cu camera ascunsa / Tentatiile soldatilor" aria-describedby="description-id-58700" dir="ltr">Farsa cu camera ascunsa / Tentatiile soldatilor</a>

如何在lua中做到这一点?如何拆分文本并获取标题和ID? 谢谢大家

一般来说,这种工作应该用解析器来完成,而不是模式匹配。

不过,这应该有效:

local str = [[
</div><div class="yt-lockup-content"><h3 class="yt-lockup-title"><a href="/watch?v=r8ocUWwuJDg" class=" yt-ui-ellipsis yt-ui-ellipsis-2 yt-uix-sessionlink     spf-link " data-sessionlink="itct=CMwBEJQ1GAYiEwia-4r23Z7FAhVD3xwKHSUQAKQojh4yCmctaGlnaC1yZWM" title="Farsa cu camera ascunsa / Tentatiile soldatilor" aria-describedby="description-id-58700" dir="ltr">Farsa cu camera ascunsa / Tentatiile soldatilor</a>
]]

local id = str:match('<a href="/watch%?v=(.-)"')
print(id)

local title = str:match('title="(.-)"')
print(title)

请注意 - 用于惰性重复。