Thread Regex über mehrere Zeilen
(10 answers)
Opened by kameltreiber at 2012-01-18 11:26
Hm, keine Ahnung auf die Schnelle. Hab mal rumprobiert und folgendes geraten:
Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 #! /usr/bin/perl use strict; use warnings; use utf8; # weil Beispieldaten utf8 kodiert sind my @collected; while ( my $line = <DATA> ) { # Ausgabe wird gemacht, wenn die aktuelle Zeile nur aus Punkten besteht, oder # wenn die Zeile mit zwei Zeichenketten aus Punkten, zwischen denen ein oder mehr # Leerzeichen liegen, endet. # if ( $line =~ m/(?:^|[.]+\s+)[.]+$/ ) { chomp @collected; push @collected, $line; # ">>> " fuer Produktiv-Code entfernen print ">>> @collected"; @collected = (); } else { push @collected, $line; } } # Beispieldaten __DATA__ Eingänge, 12 Bit, 0(4) ...20mA (Stecker Typ E), gemäss Leistungsbeschrieb ATS 03, komplett betriebsbereit, verdrahtet inkl. Klemmen 31 158 St ...................... ..................... R 912.553.124 Analoges Ausgangsmodul mit galvanischer Trennung, 4 Ausgänge, 10 Bit, 0(4) ... 20mA (Stecker Typ E), gemäss Leistungsbeschrieb ATS 03, komplett betriebsbereit, verdrahtet inkl. Klemmen 31 84 St ...................... ..................... R 912.553.125 DALI Modul gemäss Leistungsbeschrieb ATS 03, komplett betriebsbereit, verdrahtet inkl. Klemmen 31 160 St ...................... ..................... meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen! |