又来了。正则表达式。这个星球上最神秘的东西。
我有很多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"] = value
或key = value
,如果关键是一个有效的标识符(这似乎是你的例子中唯一的情况)。用"$1":
替换([a-zA-Z_][a-zA-Z0-9_])%s=
,其中$1
是第一个捕获,因此应该工作,假设您在字符串键中没有这个…