我正在尝试做一个简单的 VB6 到 c 的翻译器来帮助我将开源游戏移植到 c 语言。我希望能够使用 ragex 从“With Npclist[NpcIndex]”中获取“NpcList[NpcIndex]”,并在需要替换的任何地方替换它。(“With”在 VB6 中用作宏,在需要时添加 Npclist[NpcIndex] 直到找到“End With”)
Example:
With Npclist[NpcIndex]
.goTo(245) <-- it should be replaced with Npclist[NpcIndex].goTo(245)
End With
是否可以使用正则表达式来完成这项工作?我尝试使用函数在“With”和“End With”之间执行另一个正则表达式替换,但我不知道“With”正在替换的文本(Npclist [NpcIndex])。提前致谢