[Python] Ricerca e sostituzione con regex
Daniele Zambelli
daniele.zambelli a gmail.com
Dom 16 Giu 2019 17:50:20 CEST
Il giorno dom 16 giu 2019 alle ore 14:06 Giovanni Vittorio Spina
<vittorio.spina a 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,
Maggiori informazioni sulla lista
Python