gpt4 book ai didi

xml - 在 Lua 中查找第一个匹配模式的字符串(XML 模式匹配)

转载 作者:数据小太阳 更新时间:2023-10-29 02:50:30 32 4
gpt4 key购买 nike

我目前正在使用以下代码来解析 Xml 文件的一部分(我首先将整个文件读入一个字符串)。

for xmlMatch in xmlString:gmatch("<MyXmlElement.*</MyXmlElement>") do
-- Do something.
end

我遇到的问题是 for 循环只执行一次,因为 gmatch 函数只返回一个字符串,它从 MyXmlElement 的第一个实例开始,到 MyXmlElement 的最后一个实例结束时结束。我如何解析字符串以便在字符串 "</MyXmlElement>" 时匹配模式是否找到了第一个(而不是最后一个)?

最佳答案

这里有3处错误:

  • gmatch 从字符串中返回捕获的子字符串,因此您需要使用 () 围绕您要在循环中使用的内容
  • 为了匹配尽可能少的字符你应该使用.-作为模式,直到第一个可能的 </MyXmlElement>
  • 并且您需要在 for 之后添加变量(但我想那只是一个错字)

所以一起:

for att,cont in XmlString:gmatch'<MyXmlElement%s*(.-)>(.-)</MyXmlElement>' do
-- something
end

应该可以解决问题。

关于xml - 在 Lua 中查找第一个匹配模式的字符串(XML 模式匹配),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5027143/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com