我需要一个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? 谢谢大家
答案 0 :(得分:2)
一般来说,这种工作应该用解析器完成,而不是模式匹配。
不过,这应该有效:
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)
请注意,-
用于延迟重复。