Thread reg. Exp. mit Dateinamen (4 answers)
Opened by Gast at 2006-03-01 12:33

Linuxer
 2006-03-04 19:34
#63363 #63363
User since
2006-01-27
3890 Artikel
HausmeisterIn

user image
Hi Flo,

das Codebeispiel geht davon aus, daß, wenn DaYYYYMMDD fehlt, auch nur ein Unterstrich da steht...

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
my @ff = qw/
NaFlorian_Da20050301_Nr025_PfTestpfad.txt
NaFlorian_Nr025_PfTestpfad.txt
/;

# fuer jeden Dateinamen
for ( @ff ) {
m{
^ # Stringanfang
([^_]+) # Wort bis zum ersten _ einfangen
(?: # gruppierende Klammer
_(Da[^_]+) # moegliches Da... einfangen
)? # das gruppierte kann einmal oder gar nicht auftauchen
_
([^_]+) # Nr... einfangen
_
([^_]+) # Pfad einfangen
\. # echter Punkt
.* # Dateiendung
$ # Stringende
}x; # RegEx Ende

print "$1," . ($2 ? $2 : ' ' ) . ",$3,$4", $/;
}


perldoc perlrequick
perldoc perlretut
perldoc perlre
perldoc perlop (search 4 ternary)

http://perldoc.perl.org/perlrequick.html
http://perldoc.perl.org/perlretut.html
http://perldoc.perl.org/perlre.html
http://perldoc.perl.org/perlop.....-%3f%3a\n\n

<!--EDIT|Linuxer|1141495662-->
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!

View full thread reg. Exp. mit Dateinamen