Mam następujący wyrażenie, które może wyglądać tak (ilość Sqrt [XXX] jest unknow)Jak zmienić kilka "Sqrt [trochę tekstu wewnątrz]" na kilka Sqrt (jakiś tekst wewnątrz), mam na myśli od [] do()
Sqrt[A+B] + Sqrt[Min[A,B]] * Min[Sqrt[C],D]
i chcę, aby włączyć wszystkie Sqrt[XXX]
w Sqrt(XXX)
, chcę wymienić []
wsporniki Sqrt
do ()
nawiasach
więc powyższy przykład będzie wyglądał
Sqrt(A+B) + Sqrt(Min[A,B]) * Min[Sqrt(C),D]
ja nie chcę „zranić” drugie []
nawiasy w wyrażeniu (jak te obok Min
)
Jak mogę zrobić to z regex?
Nie można zrobić z wyrażeń regularnych, Akceptowane odpowiedzi tutaj http://stackoverflow.com/questions/5475804/regular-expression-for-math-operations-with-parentheses –
@MK boję się backtracking na ogół mógł (różnica między rozsądnymi RE i bałaganem, który mamy teraz dzięki perl ~). Ale zgadzam się, że to nie jest droga. – Voo
@Voo Jestem prawie pewien, że nie można nawet cofnąć się. –