Zitat von
Assarbad:
Wenn du diese Möglichkeit findest, gib mir bescheid.
Hat Christian gepostet, das Fragezeichen hinter der Klammer gehört aber nciht dazu
Also alle Subpatterns, die mit ?: beginnen, sind "non-capturing patterns", können also nicht indiziert werden.
Zitat von
Assarbad:
Mit Auftrennen meine ich, daß bei dir ein Match (nämlich $2) für alle 4 Floats zusammen gibt, bei mir einen für jeden Float extra ($2..$5; was ich in Sachen Typensicherheit für besser halte).
Nein, bei mir nimmt er nur die ersten vier Ziffern, weil ich die Frage des OP ein wenig missverstanden habe. Aber so, wie er es jetzt umgesetzt hat, findet er ja die vier Floats einzeln, bei mir hat er quasi nur Trunc(Float1) gefunden
Zitat von
Christian S.:
Ich weiß, ehrlich gesagt, nicht, was ein "forward lookup" ist.
Fachbegriff: positive assertion, dann hätte allerdings noch ein = zwischen Fragezeichen und Doppelpunkt gemusst: "(?=
" (die Klammern sind syntaktisch zwingend für Assertions). Der Doppelpunkt muss dann unbedingt vorhanden sein, zählt aber nicht zum Subpattern.
Zum Thema PCRE lernen:
Immer wieder diese Bücherwürmer, ich sehe da absolut keine Notwendigkeit für, ein Buch zu kaufen... In der PHP-Doku zu PCRE-Funktionen ist eine sehr gute Beschreibung zur PCRE-Syntax und den Pattern Modifiers. Allerdings scheint die für die Regex-Klasse obsolet zu sein, denn besagte named groups sind noch nicht enthalten. Ob die mit Perl6 dazugekommen sind, oder eine Spezialität von .NET (auch in 1.1 gab's die schon) sind, weiß ich nicht, aber ich finde sie sind 'ne tolle Erfindung.
Die Beschreibung aus der Perl-Doku kenne ich nicht, eventuell könnte da aber was über die Neuerungen von Perl6 drinstehen, wenn es welche gab.