我正在为Java平台使用rhino和Scripting,以允许用户扩展我的应用程序。
然而,用户可以写一些案例,例如(ASTO.value>440) || (ASTO.bellowNormal)
等......
问题是在使用ScriptEngine从我的JAVA应用程序运行脚本之前
我想得到所有变量的名称!因为我应该知道脚本运行所需的变量...
我知道正则表达式会起作用,但我不确定......
请我有人可以帮我弄清楚java正则表达式来获取我真正应用它的变量..
答案 0 :(得分:0)
我找到了解决方案 cx.getDebuggableView(结果).getParamAndVarCount() 但它不会返回未声明的变量:(
答案 1 :(得分:0)
我们正在做一些非常相似的事情,尽管它是用Scala编写的,我只能给你一些提示......
listArg[Math.floor(4 / listArg[zeroArg]['f3'])]
描述设计的变量......
// chars after which there may be an environment variable used
private val NewScopeChars = List('[', '(', '/', '*', '+', '-', ',')
// chars that signal the end of a variable name
private val SepChars = '.' :: ' ' :: ';' :: ']' :: ')' :: NewScopeChars
private val ExcludeStrings = List("new", "Math")
private val LiteralPrefixes = "'" :: "\"" :: (0 to 9).map(_.toString).toList
我有a problem with performance所以任何帮助都会受到赞赏。
答案 2 :(得分:0)