Prova una cosa come import re first_substitution = re.sub(r"\$\$(.*?)\$\$", r"\[\1\]", input_text, flags=re.S) final_text = re.sub(r"\$(.*?)\$", r"\(\1\)", first_substitution, flags=re.S)
On Sun, Jun 16, 2019 at 3:50 PM Daniele Zambelli <daniele.zambe...@gmail.com> wrote: > Il giorno dom 16 giu 2019 alle ore 14:06 Giovanni Vittorio Spina > <vittorio.sp...@gmail.com> ha scritto: > > > > Ponendo ad esempio > > a = "$$<formula>$$ pippo $<formula>$" > > > > Si può avere il testo corretto con il seguente comando > > b = a.replace(“$$<“, "\\[<“).replace(“>$$”, “>\\]").replace(“$<”, > “\\(<”).replace(“>$”, “>\\)”) > > Grazie per le indicazioni, però non mi sono spiegato bene. Con > "<formula>" intendevo una qualunque formula matematica LaTeX: > > Il testo da modificare potrebbe essere: > > \begin{definizione} > $$ > m \times n = \begin{cases} > 0 & se \quad n = 0\\ > m & se \quad n = 1\\ > \underbrace{m + m + \dots + m}_{\text{n volte}} & \mbox{ negli altri casi} > \end{cases}$$ > \end{definizione} > > \begin{itemize*} > \item \emph{Commutativa}: $a \cdot b = b \cdot a$ > \item \emph{Associativa}: $(a \cdot b) \cdot c = a \cdot (b \cdot c)$ > \item \emph{Elemento neutro} $a \cdot 1 = 1 \cdot a = a$ > \end{itemize*} > > \begin{definizione} > Dati due numeri naturali~$m$ e~$n$, con~$n \neq 0$, la divisione associa > un terzo numero naturale~$q$, se esiste, che moltiplicato per ad~$n$ dà > come prodotto~$m$. > Si scrive~$n : m = q$. > \end{definizione} > > e dovrebbe diventare: > > \begin{definizione} > \[ > m \times n = \begin{cases} > 0 & se \quad n = 0\\ > m & se \quad n = 1\\ > \underbrace{m + m + \dots + m}_{\text{n volte}} & \mbox{ negli altri casi} > \end{cases}\] > \end{definizione} > > \begin{itemize*} > \item \emph{Commutativa}: \(a \cdot b = b \cdot a\) > \item \emph{Associativa}: \((a \cdot b) \cdot c = a \cdot (b \cdot c)\) > \item \emph{Elemento neutro} \(a \cdot 1 = 1 \cdot a = a\) > \end{itemize*} > > \begin{definizione} > Dati due numeri naturali~\(m\) e~\(n\), con~\(n \neq 0\), la divisione > associa > un terzo numero naturale~\(q\), se esiste, che moltiplicato per ad~\(n\) dà > come prodotto~\(m\). > Si scrive~\(n : m = q\). > \end{definizione} > > Quindi dovrei identificare una coppia di coppie di dollari e > trasformare la prima con la stringa: "\[" e la seconda con la stringa > "\]": > > $$a^2=b^2+c^2$$ ---> \[a^2=b^2+c^2\] > e > $5+7=12$ ---> \(5+7=12\) > > È per questo che pensavo fosse più un lavoro da espressioni regolari > che da semplice sostituzione. > > Grazie. > > -- > > Daniele > > www.fugamatematica.blogspot.com > > giusto! > nel verso > forse è perché non guardiamo le cose > Quando non ci capiamo, > _______________________________________________ > Python mailing list > Python@lists.python.it > https://lists.python.it/mailman/listinfo/python >
_______________________________________________ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python