amolip: RegEx: Once-only subpattern

Beitrag lesen

Hallo seth,

denn mit "einfach" meintest du wohl sowas wie "ohne vernuenftigen grund".

Genau.

afais ist es doch auch so. ein subpattern eines patterns ist eigentlich erstmal nichts anderes als ein teil eines patterns, der fuer sich genommen ein regexp waere.

imho waere somit /bc/ ein subpattern von /abcdefg/; aber auch /(foo)/ waere ein subpattern von /a(foo)bar/.

Siehe hierzu auch meinen Beitrag bei "ces" zu dem Begriff Teilmuster.

ich sehe darin auch kein didaktisches problem.

Doch das ist es. Denselben Begriff für ein syntaktisches Element und für eine logische Sicht auf die Dinge zu verwenden kann tödlich sein. Es ist kein Präsenzunterricht, wo man die Reaktionen sieht, wo man unmittelbar reagieren kann. Es ist Schrift, wenn der Leser aus dem Kontext – und das ist eben gerade bei Anfängern der Fall – die aktuelle Bedeutung des Begriffs nicht erschließen kann, dann, ja dann ... Ich muss dann als Autor bei jedem Popelfurz einen Halbsatz, einen ganzen Satz oder mehr dazu schreiben, um sicher zu gehen, dass der Leser den Begriff einordnen kann.
Deswegen spreche ich grundsätzlich von Teilmuster, wenn ich /bc/ in /abcdefg/ meine. Wenn ich /(foo)/ in /a(foo)bar/ meine und es mir um das syntaktische Element des Untermusters geht spreche ich von Untermuster. Beispiel: Und jetzt müssen wir das Untermuster noch quantifizieren.
Und hier mal ein Beispiel, wenn es mir um die logische Sicht auf die Dinge geht.
Beispiel: Das Untermuster /(foo)/ ist das zweite Teilmuster im Gesamtmuster /a(foo)bar/. Das Untermuster /(foo)/ besteht wiederum aus den drei Teilmustern /f/, /o/ und /o/.

Also – momentan ist es so, dass ich ein Kapitel Syntax habe, wo ich eben die Syntax übersichtartig darstelle und die Begrifflichkeiten vorstelle und definiere. Durchaus mit Hinweisen auf die Abweichungen zur üblichen Terminologie.
Ich muss das ganze überdenken, um Abweichungen werde ich nicht herumkommen, ich will es aber restriktiv handhaben und darauf achten, dass ich wirklich deutlich auf die Abweichungen hinweise.
Und ein weiteres großes, großes Problem ist es eine einheitliche Linie zu fahren. Beispielsweise mische ich ja bei "positiver Lookahead" englisch und deutsch. Ich habe keine Probleme damit, aber eigentlich müsste ich, wenn schon, denn schon schreiben "positive Lookahead" oder wenn schon, denn schon "positive lookahead" oder "positive look-ahead" oder was? Es ist ja beileibe nicht so, dass die englische Schreibweise bei den Begrifflichkeiten einheitlich ist, da geht's drunter und drüber.

Beispiel:
Und nach dem positive look-ahead kommt ein non-capturing subpattern, das dann bei unseren backreferences nicht mitzählt ...
Und nach dem positiven Lookahead kommt ein Bereichsmuster, das dann bei unseren Rückwärtsreferenzen nicht mitzählt ...

Wenn ich das gegenüberstelle, finde ich das erste einfach grauenhaft, da würde ich ja lieber gleich komplet auf Englisch schreiben.

Was ich mir vorstellen könnte wäre, dass man die Begriffe quasi halb eindeutscht. Mit Großschreibung und Bindestrichen finde ich das lesbar.

Und nach dem positiven Lookahead kommt ein Non-Capturing-Subpattern, das dann bei unseren Backreferences nicht mitzählt ...

Das gefällt mir gar nicht mal schlecht, aber ob das dann für alle Begrifflichkeiten so wirklich hinhaut kann ich jetzt nicht sagen.

Non-Capturing-Subpattern
Atomic-Group
Backreference
Modifier
Quantifier
...

"rangepattern" vs. "subpattern" gefaellt mir persoenlich gar nicht.

"rangepattern" gefällt mir auch überhaupt nicht, mit "Bereichsmuster" habe ich dagegen überhaupt kein Problem. Ich glaube, die subjektive Gewöhnung an einen Begriff spielt eine viel größere Rolle als wir denken.

Gruß Uwe