/ / Extracción y evaluación de funciones matemáticas - expresiones regulares

Extrayendo y evaluando funciones matemáticas - expresiones regulares

Tengo una cadena de expresión:

10+5*Math.Tan(40)+Math.Cos(0)+40*Math.Sin(90)

Quiero extraer estas funciones matemáticas (usando expresiones regulares, etc.) y evaluar su valor:

tan(40),sin(90)

para que la cadena de expresión se convierta en:

10+5*(-1.11)+1+40*1

¿Cómo hacerlo?

Respuestas

0 para la respuesta № 1

Puedes usar esta expresión regular para encontrar las funciones en tu cadena. El primer grupo será la Palabra detrás de la "Matemática". (Tan, Cos, Sin) y el segundo grupo será, lo que está dentro de los paréntesis (40, 0, 90):

Math.(w+)((.*?))

Después de encontrarlos, puedes evaluarlos y reemplazarlos.