Thread String in Sequenzen gleicher Zeichen zerlegen: mit Regex (10 answers)
Opened by pKai at 2005-11-28 15:42

pKai
 2005-12-01 00:20
#60490 #60490
User since
2005-02-18
357 Artikel
BenutzerIn
[default_avatar]
(Bisheriges) Ergebnis der perlmonks-Diskussion:
Kürzeste Variante ist:
Code: (dl )
my @sequences = $string =~ m/((??{'(.)\1*'}))/g;

Die Geschwindigkeits kann noch erheblich verbessert werden, wenn der innere Regex vorkompliliert wird:
Code: (dl )
1
2
my $re = qr/(.)\1*/;
my @sequences = $string =~ m/((??{$re}))/g;

Diese Version ist in meinem Benchmark (gegenüber allen getesteten Varianten mit map, grep, while, for, etc; siehe oben und perlmonks-Thread) mit Abstand die schnellste.\n\n

<!--EDIT|pKai|1133389362-->
I sense a soul in search of answers.

View full thread String in Sequenzen gleicher Zeichen zerlegen: mit Regex