Brauche mini RegExp
Schnaps
- perl
Guten morgen
Ich scheitere gerade an einem winzigen Regulären Ausdruck.
Dieser soll bei folgenden Beispiel eingaben
blabla
oder
blabla.txt
jeweils nur das bla finden.
ist dafür wenn einer eine datei eingibt das ich nur den namen der datei habe nicht die Endung.
Mein vorschlag ist das gewesen, aber da meckert der Rechner.
$test=~/(\w*)[.|$]/;
(Soll heißen: Speicher alle alphanumerischen zeichen bis ein Punkt oder Zeilen Ende kommt.)
Hoffe ihr könnt mir eben helfen.
MFG
Schnaps
Hallo Schnaps,
Dieser soll bei folgenden Beispiel eingaben
blabla
oder
blabla.txt
jeweils nur das bla finden.
/^(\w+)(?:.txt)?$/
$test=~/(\w*)[.|$]/;
Richtig wäre:
$test =~ /(\w+)(?:.|$)/;
Die [] bezeichnen Zeichenklassen, das ist schon ein OR (auf Zeichen-Ebene allerdings).
(Soll heißen: Speicher alle alphanumerischen zeichen bis ein Punkt oder Zeilen Ende kommt.)
Dafür würde ich eher substr() und index() benutzen.
Grüße,
CK
use Mosche;
[Dateinamen extrahieren]
Dafür würde ich eher substr() und index() benutzen.
Oder ein Modul, welches dafür gedacht ist:
perldoc File::Basename
use Tschoe qw(Matti);