seth: RegEx: Once-only subpattern

Beitrag lesen

gudn tach!

ok, du unterfaengst dich also, neue, bessere begriffe in den umlauf zu bringen. das ist mutig.
jedoch geht gerade bei internationalen, eingebuergerten begriffen durch nationale begriffsfindung immer auch ein stueck kommunikationserleichterung floeten.

Vielleicht hört sich das schlimmer an als es ist. Ich halte absolut nichts davon sich über eine bestehende Terminologie einfach hinwegzusetzen. Das tun nur Dummköpfe.

ich verstand deine antwort erst, als ich weitergelesen hatte, denn mit "einfach" meintest du wohl sowas wie "ohne vernuenftigen grund".

wenn jemand (wie imho z.b. die leute vom vds) aus gruenden, die nichts (oder hoechstens scheinbar etwas) damit zu tun haben, den kommunikationsfluss zu verbessern, versucht, die sprache zu aendern, dann gebe ich dir recht (von wegen dummkoepfe).

du z.b. hast jedoch den hohen anspruch, das verstaendnis seitens der empfaenger in den vordergrund zu ruecken und die begriffe sich daran orientieren zu lassen. und solch ein vorgehen ist alles andere als dumm, da schliesse ich mich da voll und ganz ces in seinem vierten absatz an.

Es geht ja nicht darum zu sagen, das ist richtig und jenes ist falsch, sondern es ist ja in aller Regel eine Abwägungssache und eine Sache des Blickwinkels. Und – was in aller Regel übersehen wird – es geht ja nicht nur um rein fachliche Aspekte, sondern beispielsweise auch um didaktische Gesichtspunkte.

ja, wobei man es auch mit der didaktik uebertreiben kann, indem man so tut, als waere der empfaenger zu doof um gewisse zusammenhaenge von selbst zu verstehen, was dazu fuehren kann, dass er erst dadurch etwas missversteht.

[subpattern]
Jetzt frage ich mich doch, warum heißt es eigentlich Subpattern und nicht capturing Subpattern und warum non-capturing Subpattern, statt einfach nur Subpattern? Warum ist das nicht genau anders herum?

aeh, fragst du dich das jetzt tatsaechlich oder noch in der rolle des anfaengers?
da runde, nicht-geschwungene klammern (oder eben kurz "parantheses" *g*) erstmal automatisch ein subpattern gruppieren _und_ zwischenspeichern/puffern, hat natuerlich das aushebeln dieser automatik einen separaten namen.
afaik gab es bei den BRE auch noch gar keine moeglichkeit, das capturing zu deaktivieren; sondern das wurde, glaube ich, erst spaeter entwickelt.

in perldoc perlre steht uebrigens "capture" als attribut dabei.
  "The bracketing construct ( ... )  creates capture buffers."
es steht allerdings spaeter nicht mehr jedes mal explizit dabei, sondern nur bei der erstmaligen erklaerung. macht imho auch sinn so.

btw. im vim-manual bin ich auf eine andere nette umschreibung fuer non-capturing gestossen: "backref-less grouping"
und fuer atomic groups habe ich noch "non-backtracking subpatterns" gefunden, was aehnlich wie dein "einbahnpattern" ist, jedoch eine abstraktions-/assoziationsstufe weniger benoetigt.
uebrigens finde ich es immer gut, wenn in einem fachbuch auch kurz darauf hingewiesen wird, dass andere leute etwas anders benennen und wie sie das tun. das erleichtert das lesen zusaetzlicher literatur.

Sollte der Begriff Subpattern, der ja sowohl Oberbegriff als auch besondere Form ist, nicht für diejenige Form stehen, die das beinhaltet was beiden Formen gemeinsam ist, nämlich der Wirkungsbereich?

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/. ich sehe darin auch kein didaktisches problem.
bei termen bzgl. mathematischer formeln hat man ja auch kaum probleme zu verstehen, was damit gemeint ist.

deswegen brauchst du imho auch keine angst haben, bestehende terminologie auf den kopf zu stellen und brauchst erst recht keine neuen kuenstlichen begriffe einfuehren; "rangepattern" vs. "subpattern" gefaellt mir persoenlich gar nicht.

Die Frage, ob ich letztendlich die englischen Begriffe Subpattern und Rangepattern oder die deutschen Begriffe Untermuster und Bereichsmuster verwende, ist, gemessen an diesen grundsätzlichen Überlegungen, zweitrangig.

full ack!
wobei ich "zweitrangig" hier so verstehe, als dass man sich darueber zwar auch gedanken machen sollte, aber erst _nach_ diesen grundsaetzlichen ueberlegungen.
mein bisheriges blabla bezog sich ueberwiegend auf die sekundaeren ueberlegungen. und ich bleibe auch dabei, dass ich dann die englische terminologie auch im deutschen als die adaequatere ansehe; das ist mir besonders aufgefallen, als ich die aufzaehlung ces' las, in der er versucht zu beschreiben, welche bedeutungen parentheses haben koennen, ohne die gebrauechlichen begriffe zu verwenden. ich habe nicht nur bei dem gezwinkerten "Ausloten umliegenden Terrains" relativ lange ueberlegen muessen, was er damit meint. unter verwendung der englischen standard-terminologie haette ich es vermulich einfach runterlesen und gleichzeitig verstehen koennen. klar ist es eine gewoehnungssache, aber warum soll man mehrere terminologien entwickeln? damit man doppelt so viel lernen muss, um nicht zu mehr imstande zu sein als vorher?

prost
seth