Thread Suche immer noch Regulären Ausdruck (12 answers)
Opened by Mia at 2004-06-07 10:43

coax
 2004-06-07 17:40
#83092 #83092
User since
2003-08-11
457 Artikel
BenutzerIn
[default_avatar]
Mia,
Ich hab das mal alles mit einen RegExp geloest:
Code: (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
# komplette Datei in $data einlesen
my($data);
open(MAIL, '<', 'text.txt') or die $!;
{
undef($/);
$data = <MAIL>
}
close(MAIL);

open(FILE, '>', 'aufgabe.txt') or die $!;

while($data =~ m {
                 .*?   Aufgabe  \s+ (\d+) \s+  von  \s+ (\d+)   .*? \n+
                       (?: Bewertung: \s+ (\d) \s+ Punkte)?     .*? \n+
                 .*?   Thema: (.+?)                                 \n+
                 .*?   Beschreibung: ((?:.|\n)+?)
                       Buch: \s+ (.+?), \s+ Seite \s+ (\d+) - (\d+)
                }gxs){


    printf(FILE<<"END", $1, $2, $3, $4, $5, $6, $7, $8);
<Aufgabe> %d von %d </Aufgabe>
<Bewertung> %s Punkte </Bewertung>
<Thema> %s </Thema>
<Beschreibung> %s </Beschreibung>
<Buch> %s </Buch>
<Seite> %d-%d </Seite>

END
}
close(FILE);

mit meiner Testdatei (gefuellt mit den Testdaten von dir) funktioniert es bestens.
Sollte es bei dir nicht funktionieren waeren "echte" Testdaten besser um den RexExp entsprechend anzupassen.\n\n

<!--EDIT|coax|1086615686-->
,,Das perlt aber heute wieder...'' -- Dittsche

View full thread Suche immer noch Regulären Ausdruck