Hallo,
Ich wollte mir gerade eine RegEx bauen die mir aus Compilermeldungen ein paar Informationen extrahiert.
Nehmen wir als Beispiel folgende Meldung:
Zitat:
[dcc32 Hinweis] Unit1.pas(27): H2164 Variable 'test' wurde deklariert, aber in 'TForm1.Button1Click' nicht verwendet
Dazu habe ich nun folgende Regex:
\[dcc32
(Hinweis|Warnung)\]
([A-Za-z0-9_\.]+\.pas)\(
([0-9]+)\):
((?:H|W)[0-9]+) (.+?'([a-zA-Z0-9\._]+)'.+(?:'([a-zA-Z0-9\._]+)')?.*)
▓ = Hinweis/Warnung
▓ =
Unit
▓ = Zeilennummer
▓ = Hinweis/Warnungsnummer
▓ = Komplette Meldung
▓ = Erster String in Anführungszeichen
▓ = Zweiter String in Anführungszeichen (optional)
Zum Testen benutze ich gerade
https://regex101.com/ und habe das Problem, dass er mir den
▓"Zweiten String in Anführungszeichen" nicht captured, sondern diesen Teil nur als
▓"Komplette Meldung" erwischt.
(Oben im Zitat ist der Text so eingefärbt wie er gecaptured wird)
Hat da jemand eine Idee wie ich diesen zweiten String in Anführungszeichen in einer optionalen Gruppe erwische?
Stehe da irgendwie grad aufm Schlauch.