Thread backreferences und '\n'
(14 answers)
Opened by snarf at 2006-03-29 15:15
[quote=sid burn,31.03.2006, 19:09][quote=snarf,31.Mar..2006, 09:02]Tja ... und da "verteidige" ich fleißig die von mir gewählte Vorgehensweise und merke dennoch schon, daß sich Taulmarills (und Deine) Regex bei mir im Kopf festgesetzt hat ...[/quote]
Mal eine andere Frage, eigentlich kann deine erste Regex doch gar nicht richtig Funktioniert haben? Code: (dl
)
s/ ( { .+ } ) /{$1}}/gsx; Wenn du diese Regex anwendest, dann wird nur das allerste { und das allerletzte } verdoppelt. Alles was dazwischen ist wird nicht beachtet. Was eigentlich auch logisch ist, das ".+" frist alles bis zum EOF auf, geht zurück zum letzten "}" dort matcht die regex, es findet eine Ersetzung statt. Danach geht die Regex NACH dem gematchten text weiter. Also alle öffnenden und schließenden Klammern zwischen den beiden Zeichen werden nicht beachtet.[/quote] ... es war ja genau mein Wunsch, lediglich die umschließenden {} zu doppeln - und nicht die {}, die sich auch noch innerhalb befinden. Und da sich mehrere zusammengehörige Datei-Zeilen innerhalb eines Skalars befanden, konnte ich auch mittels '/s' und einem greedy operator alles doppeln - wie gesagt, ich brauchte mir um Fehlerfälle keine Sorgen zu machen. Habe jetzt mal "den Hintergrund" zu meiner Aufgabe nachgefragt. Die Datei, die ich vorgesetzt bekommen habe, ist wohl eine sogenannte Biblio-Datei aus LaTeX. Sie enthält die Artikel-Referenzen zu einer Arbeit meines Kollegen. Jeder Eintrag dieser Referenzen besteht aus mehreren Tags (ich nenne sie jetzt mal so), die immer die folgende Form besitzt: Code: (dl
)
tagname = { ellenlanger Text, häufig über zig Zeilen }; Durch das Doppeln der umschließenden Zeilen wird wohl verhindert, das LaTeX den gesamten umschließenden Text seiner Groß-/Kleinschreibkorrektur unterzieht (was ja bei Eigennamen etc durchaus sinnvoll ist). Mehr kann ich dazu nicht sagen ... |