Ich habe Text wie folgt aus:Perl Regex zum Extrahieren von mehrzeiligen Blöcke
00:00 stuff 00:01 more stuff multi line and going 00:02 still have
Also, ich habe keinen Block Ende haben, gerade einen neuen Block.
Ich möchte alle Blöcke rekursiv erhalten:
1 = 00:00 stuff 2 = 00:01 more stuff multi line and going
etc
Der Balg Code gibt mir nur dieses:
$VAR1 = '00:00';
$VAR2 = '';
$VAR3 = '00:01';
$VAR4 = '';
$VAR5 = '00:02';
$VAR6 = '';
Was mache ich falsch?
my $text = '00:00 stuff
00:01 more stuff
multi line
and going
00:02 still
have
';
my @array = $text =~ m/^([0-9]{2}:[0-9]{2})(.*?)/gms;
print Dumper(@array);
Ihre Nicht-Erfassung Pars '(?: ...)' sind hier überflüssig, da '(=. ..) 'kann auch wechseln. Außerdem merke ich, dass Sie immer noch nicht "strikten" Code schreiben, der in meinem Buch schlecht ist, da es schlechte Praktiken fördert. – TLP
Ich habe eine ausreichende Erklärung über ** Verwendung (ing) strict ** im anderen Thread gegeben. Macht es Ihnen etwas aus, damit aufzuhören? – tuxuday
Ja, es macht mir etwas aus. Würden Sie bitte aufhören, nicht-strikten Code zu posten? Dies ist eine Lernumgebung, es kostet Sie * nichts *, Code zu schreiben, der gute Praktiken fördert, oder? – TLP