- an der „Leiche“, dem „_“ links in
static test(string)kann man noch sehen, daß ich da schon einige Experimente unternommen hatte, um an mein “missing link” doch noch heranzukommen. Da war mir gerade recht, was „irgendwie funktioniert“ hat. Aber natürlich stimmt der Einwand, denn auch so weiß man schnell (selbst) nicht, was für ein Ding man da gerade ansieht. (Sprich: das wurde geändert.)
Und das Konstrukt? Nun, zumindest tut ein "^(?P<i>[^\d]?)(?<val_>(?P<msd_>\d{1,3}(?:.?\d{3})?)(,(?P<lsd_>\d{0,2}))?)(?P<r>[^\d]*)$" in Bbedit brav das, was ich mir gedacht hatte — die Aufrufe im Skript bekommen immer nur eine ganze „Zeile“, so daß ich da nicht auf Anfang/Ende getestet habe.
Und nein, ich zwinge keine Anwender, ich werde gezwungen: das Skript soll mir irgendwann mal die Inhalte von gegebenen Tabellen einer Webseite in sinnvolle Inhalte wandeln. Da findet man es nämlich angebracht, beispielsweise anstelle einer „0“ (für eine Anzahl) auch mal ein „-“ oder „ungesetzt“ auszuliefern. Auch sonst ist die Zahlendarstellung da eher mit Vorsicht zu genießen, so daß ich meinen „Zahlendetektor“ dafür möglichst „störungsunempfindlich“ bauen möchte.
Dabei bin ich dann eben über dieses „mal klappt es, mal nicht“ gestolpert und war doch „etwas überrascht“, als ich mit console.table solche wie die gezeigte fand: da sind die Gruppen anscheinend genau da, wo ich sie erwartet habe. Und trotzdem werden „meine Nachkommastellen“ im Skript nicht gefunden.
Daß ich in solchen Fällen dann aber mit .groups.val_ doch fündig wurde … paßt auch wieder nicht zu einem „das sind zwei Ausdrücke“.
BTW: das „Gezappel mit den Unterstrichen“ (ich habe gerade noch so einen Vagabunden gefunden) stammt übrigens daher, daß ich versucht habe, „Fipptehler“ auszumerzen: wie schnell hat man einem Objekt ein ganz neues Element (mit einem Buchstaben mehr oder weniger oder einem falschen mittendrin im Namen) eingepflanzt?
Also habe ich es mit “computed properties” versucht. Damit sich „meine“ Speicher-Strukturen doch mehr so verhalten, wie vlt. ein C-struct oder ein Pascal record: meckern bei „Fiptelher“ ist da ja fest eingebaut.
Aber das ist dann doch nur eine Katze (und kein Hund) geworden, die sich in den eigenen Schwanz beißt: wenn man da „den Kreis schließen“ möchte, bräuchte man plötzlich den Bezeichner, in dem die Property-Namen abgelegt wurden, als Namen für den Zugriff …
Das Ergebnis da: es ist wieder raus …