RegEx将文件从LUA转换为JSON



又来了。正则表达式。这个星球上最神秘的东西。

我有很多LUA表作为。LUA文件

local tbl = {
SomeObject = {
Key = "Value",
AnotherKey = {
Key1 = "Value 1",
Key2 = "Value 2",
Key3 = "Value 3",
}
},
AnotherObject = {
Key = "Value",
AnotherKey = {
Key1 = "Value 1",
Key2 = "Value 2",
Key3 = "Value 3",
}
}
}

我想把这些文件转换成JSON,这样它们就可以更容易地跨不同的应用程序使用。有什么奇特的RegEx我可以在c#中使用,例如转换它们?

一般:不。RegEx不能解析Lua,因为解析需要上下文无关的语法(CFG)。在标记化级别,RegEx可能就足够了;Lua表构造器对于您的示例的主要区别是JSON使用"key": value,而Lua使用["key"] = valuekey = value,如果关键是一个有效的标识符(这似乎是你的例子中唯一的情况)。用"$1":替换([a-zA-Z_][a-zA-Z0-9_])%s=,其中$1是第一个捕获,因此应该工作,假设您在字符串键中没有这个…

我强烈建议不要使用RegEx。最简单的&然而,最可靠的方法是将这些文件作为Lua代码执行,然后将Lua表从Lua中写入JSON。. 还要确保正确加载这些文件的环境是沙箱。

相关内容

  • 没有找到相关文章

最新更新