Reguläre Ausdrücke - ich schaff's nicht!
|
Seitenanfang |
| Hi! Ich probiere schon seit 2 Tagen herum, hab auch schon ettliche Seiten bemüht, aber ich schaff's nicht! Ich habe diesen String "20050907 - tst Test" und möchte ihn in folgendes zerlegen "2005097" "test" und von "Test" an bis zum Stringende. Das Problem ist, dass nur das Datum (20050907) immer gleich lang is... die initiallien sind manchmal nur ab oder abc und der rest hinten ist beliebig lang. Könnt ihr mir bitte helfen? Wenn das funktionieren würde, könnt ich die reg exp für den String (tst ... Thomas Super Test) wohl selber machen (brauch daraus tst und "Thomas Super Test" - falls jmd. will *g*) Bitte lasst mich net hängen und helft einem Perl Anfänger *g* Vielen Dank! Coma
Datum: 19.09.2005-12:44

|
re: Reguläre Ausdrücke - ich schaff's nicht!
|
Seitenanfang |
my $string = '20050907 - tst Test'; my ($date,$init,$rest) = $string =~ /(\d+)\s-\s([^\s]+)\s(.*?)/;
Datum: 19.09.2005-14:39

|
re: Reguläre Ausdrücke - ich schaff's nicht!
|
Seitenanfang |
Wahlweise statt der RegEx auch einfach mit split:my $x = '20050907 - tst Test Foo Bar Something Blubb'; my ($date,$init,$rest) = split / -? ?/, $x, 3; print join '|', '-',$date,$init,$rest,'-';
Datum: 19.09.2005-22:02

|
re: Reguläre Ausdrücke - ich schaff's nicht!
|
Seitenanfang |
| Danke für die Antworten. Das mit Split funktioniert eindwandfrei - Danke! Jetzt hab ich noch das Problem, dass es mehrere Zeilen sind (quasi eine Art Liste - und die wird zeile für zeile durchgegangen und am ende brauch ich alle daten). Ich will das ganze in eni mehrdimensionales array schreiben, aber irgendwie schaff ichs net. @array[][] - so funktionierts bei Java (glaub ich) - funzt aber net. Kannst du mir nochmal helfen?! Danke, Coma
Datum: 21.09.2005-10:48

|
re: Reguläre Ausdrücke - ich schaff's nicht!
|
Seitenanfang |
Dafür brauchst Du ein Array of Arrays. D.h. in jedem Element des Arrays sind Referenzen auf andere Arrays. Dadurch wird die mehrdimensionalität hergestellt. Schau Dir mal auf http://wiki.perl-community.de unter "perldoc" perldoc perlreftut an... Ist auf Deutsch!
Datum: 21.09.2005-12:35

|