文字列を引数として受け入れるメソッドを Java で作成しようとしています。この文字列は、数式であるか、通常の文字列である可能性があります。数式である場合にのみ評価し、そうでない場合はそのままにしておく必要があります。次のように、Java スクリプト エンジンを使用して数式を評価します。
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine engine = mgr.getEngineByName("JavaScript");
String foo = "1+2*10";
System.out.println(engine.eval(foo));
しかし問題は、数式ではない文字列を渡すと、例外がスローされることです。コードに例外を入れたくありません。私が達成しようとしているのは、次のようなものです。
if(isExpression(foo))
{
engine.eval(foo);
}
このようにして、評価する前に数式であるかどうかを確認します。メソッド isExpression(foo) の簡単な実装はありますか? 正規表現を使用している可能性がありますか?ありましたら教えてください。ありがとう