Usando Javascript y RegEx, ¿cómo puedo comenzar con algo como esto?
((5 dogs + 2 cats) * $3.00 per animal) + $20 flat fee...y termine con solo los operadores matemáticos (permitiendo x y * para la multiplicación), signos de dólar, puntos decimales, espacios y números...
(5 + 2) * $3.00) + $20Idealmente, habría dos niveles máximos de anidamiento; pero si eso no es posible, un nivel también sería útil.
Puede usar un reemplazo de cadena usando una expresión regular que coincida solo con símbolos diferentes de los caracteres permitidos: +-*/[0-9].$() para ser reemplazado con una cadena vacía.
Aquí hay una demostración:
const formula = "((5 dogs + 2 cats) * $3.00 per animal) + $20 flat fee"; const result = formula.replace(/[^-+*\/()\d.$]/img, ""); console.log(result);