Ho ottenuto la seguente espressione che può apparire come questa (la quantità di Sqrt [XXX] è sconosciuto)Come girare diversi "Sqrt [del testo dentro]" in diversi Sqrt (alcuni testi all'interno), intendo da [] a()
Sqrt[A+B] + Sqrt[Min[A,B]] * Min[Sqrt[C],D]
e voglio trasformare tutto in Sqrt[XXX]
Sqrt(XXX)
, voglio sostituire le []
parentesi della Sqrt
in ()
parentesi
quindi l'esempio di cui sopra sarà simile
Sqrt(A+B) + Sqrt(Min[A,B]) * Min[Sqrt(C),D]
Non voglio a "ferire" gli altri []
parentesi nell'espressione (come quelli accanto a Min
)
Come posso farlo con regex?
Non è possibile farlo con le espressioni regolari, vedi risposta accettata qui http://stackoverflow.com/questions/5475804/regular-expression-for-math-operations-with-parentheses –
@MK temo con backtracking in genere poteva (la differenza tra RE sensibili e il casino che abbiamo ora grazie a perl ~). Ma sono d'accordo che non è la strada da percorrere. – Voo
@Voo Sono abbastanza sicuro che non puoi nemmeno tornare indietro. –