Хотя я уверен, что есть лучший ответ, я решил использовать следующее, пока не появится что-то лучшее, я работаю в AS3:
if ( !String( value ).match( /[a-zA-Z]/ ) && !String( value ).match( /^(-?\d+)$/ ) && String( value ).match( /[()\\*+-]/ ) )
{
value = MathParser.parse( value );
}
Первое выражение подтверждает, что естьэто не символы - моя реализация маневрового двора не обрабатывает специальные символы или операции, она просто выполняет базовую математику, поэтому, если остаются какие-либо символы, что-то не так.
Второй проверяет, что строка содержит математические символы.Нет смысла пытаться выполнить операцию, если нет математики для обработки.Я предполагаю, что в этом нет необходимости, если я хотел обрабатывать ошибки внутри процессов маневрового двора.
И, наконец, я проверяю, что значение не является просто отдельным числом положительного или отрицательного значения.
Комментарии для улучшения приветствуются.