Generell können Sie hier unterschiedliche Ansätze verfolgen:
- Verwenden Sie faule Quantifizierer
.*?
anstatt.*
- Zeichen ausschließen, wenn sie nur beim Schließen angezeigt werden
[^{]*
oder[^\]
anstelle von.*
Ich habe einen LaTeX
Code, der so geht:
--- text might be here --- $\begin k & l & m \\ x & y & z \end$ --- text might be here --- $\begin k & l & m \\ x & y & z \end$ --- text might be here --- $\begin k & l & m \\ x & y & z \end$ --- text might be here ---
Ich habe dies erstellt regex
, um jede der cases
Umgebungen einzufangen :
\\begin\((\s*.*\s*)*)\\end\
Was passiert ist, ist, dass es vom ersten \begin
bis zum letzten Punkt übereinstimmt \end
, während ich es für jede Umgebung unabhängig anpassen muss, das heißt, die erste \end
nach jeder \begin
Übereinstimmung.
Beachten Sie, dass Leerzeichen, Zeilenumbrüche und Tabulatoren nicht erforderlich sind und möglicherweise nicht immer vorhanden sind.
Generell können Sie hier unterschiedliche Ansätze verfolgen:
.*?
anstatt .*
[^{]*
oder [^\]
anstelle von.*