[Tustep-Liste] Frage zu Pattern Matching

Schneider, Matthias schneiderm at uni-trier.de
Fr Mai 19 14:15:39 CEST 2017


Liebe Liste,

bei einer Auszeichnungsaufgabe bin ich auf eine Funktionsweise des {}-Pattern Matchings gestoßen, die ich noch nicht verstehe:

Gegeben sind Muster wie das folgende, das in meiner Datei in Datensatz 0.11 steht: 
<belGrp><belDat font-name="Futura">#[2003]1723#[2002]</belDat>es <i>(ist)</i> durch unglück und nicht durch seinen betrieb verlohren gangen <bibl><i>russ. land-recht 75.#[2003]</i></bibl></belGrp>


Der Text zwischen "</belDat>" und "<bibl>" soll als Zitat (<quote>...</quote>) getaggt werden, was an sich trivial ist. Gerne möchte ich allerdings Blanks, die hinter "</belDat>" und vor "<bibl>" stehen können (0, 1, ggf. auch mehrere Blanks), vom Tagging ausschließen.

Mein erster Versuch, der wie folgt aussah, lief ins Leere:
a,(0.11,0.11),,|</beldat>{0-0} {|}*{|}{0-0} <bibl>|{=1=}<quote>{=2=}</quote>{=3=}|

Lasse ich hingegen den zweiten Quantifizierer "{0-0}" weg, funktioniert das testweise auf den Datensatz 0.11 beschränkte Austauschen wie gewünscht. Allerdings würden dann bei Mehrfachblanks alle bis auf das letzte in das neue <quote>-Tag integriert:
a,(0.11,0.11),,|</beldat>{0-0} {|}*{|} <bibl>|{=1=}<quote>{=2=}</quote>{=3=}|


Eine Ausweichmöglichkeit scheint darin zu bestehen, die Vorschrift für "0 bis beliebig viele" Leerzeichen als Stringgruppe anzulegen. Dann werden bei mehrfache Blanks komplett aus dem Tagging ausgeschlossen:
s:mb=|{0-0} |

--> a,(0.11,0.11),,|</beldat>{S:mb}{|}*{|}{S:mb}<bibl>|{=1=}<quote>{=2=}</quote>{=3=}|

Was sich mir bisher nicht erschließt, ist die Frage, warum mittels Stringgruppeneinsatz funktioniert, was bei unmittelbarer Definition nicht zu klappen scheint.


Viele Grüße in die Runde
Matthias Schneider 


==================================================== 
|           Matthias Schneider, M.A. 
|__Kompetenzzentrum für elektronische Erschließungs- 
|     und Publikationsverfahren in den 
|     Geisteswissenschaften 
|__Trier Center for Digital Humanities 
|__Universität Trier 
|__DM 341 
|__Mail: schneiderm at uni-trier.de 
|__Homepage: 
|     http://www.kompetenzzentrum.uni-trier.de 
|     http://www.m-schneider.eu 
|__twitter: @ms91tru, @museumdighum
|__Telephon: 
|     + 49 651 201 2935 
====================================================



Mehr Informationen über die Mailingliste Tustep-Liste