在Lua中匹配相似字符串

我正在使用

raw:gsub("(%a-):\n".."([%wö  /,.':&%-%%()\n\t]*)",function(a,b) t[a]=b end)

来将名为 raw 的字符串分割成段落头“Something:\n”,随后是包含字符串"Event:"的数据(注意缺乏换行符),并将数据存储在t["Something"]中。

我该如何实现这个功能,或者我应该尝试找到一种解决方法?

点赞
用户1847592
用户1847592

为了遍历文本,代码需要找到所有的“标题”(以冒号和换行符结尾)。所以,使用 gsub 函数,将冒号和换行符旁边非换行符和 0(\0)括起来,然后使用 gmatch 函数遍历所有找到的标题和它们的值,并把它们存储到表 t 中。

for a, b in raw:gsub("%f[^\n%z]([^\n]+):\n", "\0%1\0"):gmatch"%z(%Z+)%z(%Z*)" do
   t[a]=b
end
2020-07-24 18:40:35