Thread Hilfe zu Regex (8 answers)
Opened by rooney10 at 2011-03-22 16:43

rooney10
 2011-03-22 16:43
#146790 #146790
User since
2011-03-22
3 Artikel
BenutzerIn
[default_avatar]
Hallo Community,

bitte nicht zu streng zu mir sein, da es mein erster Beitrag ist und ich noch dazu recht unbeholfen im Umgang mit Perl bin.

Mein Problem sieht wie folgt aus:
Ich habe eine Latex Datei, welche diverse Kommandos enthält.

Das Kommando nach dem ich suche, ist das \includegraphics Kommando, wovon ich den Dateinamen des einzufügenden Bildes haben will.

Das Kommando sieht folgendermaßen aus:
\includegraphics[Optionen]{Pfad/Dateiname}

Ich würde nun gerne mittels Regex den Pfad/Dateinamen, sprich alles zwischen den geschwungenen Klammern, in einem String speichern.

Mann müsste also nach dem Vorkommen von "\includegraphics" suchen, danach alles bis zur geschwungenen Klammer akzeptieren und danach den Inhalt zwischen den Klammern matchen. (die [Optionen] müssen bei diesem Befehl auch nicht gesetzt sein, sprich dies "\includegraphics{Pfad/Dateiname}" ist ebenfalls möglich)

Code: (dl )
1
2
$test = "\\includegraphic[adsfasdf]{dasistmeinstring.tex}";
@myarray = ($test =~ m/(\\includegraphic.*\{\w*\.\w*\})/);


Dieser Code findet zunächst alle Vorkommen des \includegraphic Befehls. Jetzt könnte ich auf die Klammern abfragen, jedoch erscheint mir dies als sehr umständlich...

Gibt es hierfür eine bessere Lösung, welche mir immer genau den Dateinamen findet?

Danke im Voraus!

Mfg
Last edited: 2011-03-22 16:46:59 +0100 (CET)

View full thread Hilfe zu Regex