我正在创建一个程序,使用户能够创建某种脚本。我在运行时编译他的脚本然后执行。我正在做类似的事情:https ://stackoverflow.com/a/4181855/637142
无论如何,为了让长话短说,基本上我必须替换所有以 $ 开头的变量。用于使脚本编译的东西。如果用户有以下行:
var x = ($MyArray[ 4 ].Size) + 3;
什么正则表达式可以让我选择$MyArray[ 4 ].Size
?
如果用户在哪里写:
var x = $SomeVar;
在那种情况下,很容易找到SomeVar
。我无法找到以 $ 开头的变量
编辑
我想我已经接近找到解决方案了。现在我正在用这个词替换 $ ,Foo.
换句话说,我替换了该行:
var x = ($MyArray[ 4 ].Size) + 3;
为了
dynamic Foo; // then
var x = (Foo.MyArray[ 4 ].Size) + 3;
现在它编译但我仍然需要找到Foo.MyArray[ 4 ].Size
编辑 2
我不是想创建一个编译器,我只需要替换一些变量(以 $ 开头的变量)而已;)