Entwickler-Ecke
Basistechnologien - regulärer Ausdruck
kostonstyle - Di 12.01.10 15:19
Titel: regulärer Ausdruck
hallo miteinander
ich suche ein regulärer Ausdruck, wo auf die Dateiendung überprüft. Zum Beispiel .jpg, das ein gültiger Wert
aber hingegen j.pg ist ungültig.
Vielen Dank kostonstyle
Moderiert von
Kha: Topic aus C# - Die Sprache verschoben am Di 12.01.2010 um 15:40
danielf - Di 12.01.10 15:23
Hallo,
und was ist dein Problem? Was hast du bisher versucht?
Gruß Daniel
kostonstyle - Di 12.01.10 15:42
was ich brauche ist der pattern dazu, keine ahnung.
habe mal über pattern gelesen aber das ist wirklich kompliziert das ganze.
danielf - Di 12.01.10 15:48
Ja? :gruebel:
.*\.jpg
kostonstyle - Di 12.01.10 15:59
habe mal folgendes versucht
C#-Quelltext
1: 2: 3:
| string pattern = @"[.]{1}*[a-z]"; Regex regex = new Regex(pattern); return regex.IsMatch(name); |
aber leider wird ein exception ausgelöst.
bakachan - Di 12.01.10 16:07
Der grund für die Exception ist das du Quantifizierer schachtelst {1}*
{1} -> einmalig
* -> beliebig oft
kostonstyle - Di 12.01.10 16:09
die dateiendung kann dynamisch in ein Textfeld eingegeben werden. Der Pattern sollte nur überprüfen, ob der Text mit ein Punkt beginnt. Ein Beispiel
Richtig
.file
Falsch
.fi.le
Versteht ihr was ich damit meine?
Kha - Di 12.01.10 16:40
Wenn du mit regulären Ausdrücken noch nicht klar kommst, warum sie dann mit aller Gewalt benutzen wollen? Solche einfacheren Probleme kannst du genauso gut mit den Methoden von string lösen, das Ergebnis dürfte wahrscheinlich sogar lesbarer sein.
kostonstyle - Di 12.01.10 16:44
ich bin ein totaler anfänger im gebiet c#. Darum habe ich um Hilfe gebetten.
Die Klasse String dafür eine Methode?
Kha - Di 12.01.10 17:04
kostonstyle hat folgendes geschrieben : |
ich bin ein totaler anfänger im gebiet c#. |
Wer Lambdas verstanden hat, von dem erwarte ich auch, in der String-Doku Methoden wie
StartsWith und
IndexOf zu finden ;) .
kostonstyle - Di 12.01.10 17:37
aha ok....
aber wäre ein regulärer Ausdruck nicht besser dafür geeignet?
danielf - Di 12.01.10 18:13
Wenn du nur die Endung eines Strings mit einem anderen String vergleichen willst: Nein.
Regex ist ziemlich mächtig und wie alles Mächtige braucht es auch mächtig viel Ressourcen.
Gruß Daniel
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!