BlackJack hat geschrieben:Was sind die Auswirkungen auf Rückreferenzen?
Könntest du ein wenig weiter ausholen?
BlackJack hat geschrieben:
Wie sieht's mit dem Speicher aus der verbraucht wird, auch wenn man die `re` nur zum Matchen benutzt und da vielleicht so eine Gruppe vorkommt, die auf tausende von Stellen matcht. Damit rechnet niemand!
Das ist ein gutes Argument. Klar, da alle sub(sub...sub...)-matches in den groups vorhanden wären, würde auch der benötigte Speicher ansteigen.
Das Problem könnte man aber umgehen in den man eine neue match Funktion hinzufügt und somit die alten unangetastet lässt (Damit bleibt das bisherige Verhalten gewährleistet).
Die neue match Funktion behandelt die Gruppen dann so wie gefordert. Damit hätte man dann vier Funktionen: ``finditer``, ``search``, ``match`` + die vierte erweiterte die besser mit Gruppen umgehen kann.
Zusätzlich könnte man die vierte so schreiben, das per Argument der Modus (``search``-like = any position oder ``match``-like = at start) eingestellt werden kann
Damit hätte man eine Erweiterte Funktion die wahlweise wie ``re.search`` oder ``re.match`` arbeitet, aber die alle sub matches hinzufügt.
BlackJack hat geschrieben:
Lässt sich das effizient implementieren?
BlackJack hat geschrieben:
Was passiert wenn solche Gruppen verschachtelt werden? Konsequenzen?
Nein, natürlich nicht so wie du es gerne haben willst
Das Problem ist ja, das eine obere Instanz (Nicht mit Instanz einer Klasse bitte verwechseln) existieren muss, die in der Lage ist die einzelnen sub matches richtig zuzuordnen. Dass das ganz die Laufzeit erhöht ist ganz natürlich.
Ich denke aber trotzdem, dass das ganze trotzdem trivial umzusetzen ist (In Relation zu den skills die man als Python Core-Dev haben muss). Ich lasse mich aber gerne eines besseren belehren.
BlackJack hat geschrieben:
Auswirkungen auf den Rest der API?
IMO Keine, wenn man eine zusätzliche match Funktion einführt.
BlackJack hat geschrieben:
Ich denke das "patches sind gern gesehen" beinhaltet hier auch, das sich derjenige, der das Feature haben möchte, auch selbst um die Folgenabschätzung kümmert. Also das ganze erst einmal ausprobiert.
Mein C-Skills sind nicht im professionellen bereich angesiedelt und auch ein wenig eingerostet, daher könnte ich wenn dann nur ein POC in Python schreiben.
Ich danke dir aber sehr für dein Post, da du mir einen Denkanstoß gegeben hast. Wie im ersten post geschrieben, habe ich das ganze erst gestern entdeckt und dadurch noch keine Gelegenheit gehabt die Konsequenzen zu durchdenken.
Ich denke daher, eine Einführung einer zusätzlichen match Funktion wäre das beste
(Gibt es eine Möglichkeit die Umfrage diesbezüglich abzuändern?)
mfg