mam tekst tak:Perl regex do wydobywania bloków multilinii
00:00 stuff 00:01 more stuff multi line and going 00:02 still have
Więc nie masz końcu bloku, tylko nowy początek bloku.
chcę rekursywnie uzyskać wszystkie bloki:
1 = 00:00 stuff 2 = 00:01 more stuff multi line and going
itp
Kod poniżej tylko daje mi to:
$VAR1 = '00:00';
$VAR2 = '';
$VAR3 = '00:01';
$VAR4 = '';
$VAR5 = '00:02';
$VAR6 = '';
Co robię źle?
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);
organizacji non-przechwytywanie parens '(?: ...)' są tu zbędne, jako '(=?. ..) 'może również używać alternacji. Zauważam też, że nadal nie piszesz "ścisłego" kodu zgodnego z zasadami, co w mojej książce jest złe, ponieważ zachęca do złych praktyk. – TLP
Podałem wystarczające wyjaśnienie na temat ** użycia (ing) strict ** w drugim wątku. Czy możesz przestać to robić? – tuxuday
Tak, mam coś przeciwko. Czy mógłbyś przestać publikować nieostry kod? To jest środowisko do nauki, nie kosztuje * niczego *, aby opublikować kod, który zachęca do dobrej praktyki, teraz to robi? – TLP