Autor |
Beitrag |
kostonstyle
      
Beiträge: 94
|
Verfasst: Di 12.01.10 15:19
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
      
Beiträge: 1012
Erhaltene Danke: 24
Windows XP
C#, Visual Studio
|
Verfasst: Di 12.01.10 15:23
Hallo,
und was ist dein Problem? Was hast du bisher versucht?
Gruß Daniel
|
|
kostonstyle 
      
Beiträge: 94
|
Verfasst: 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
      
Beiträge: 1012
Erhaltene Danke: 24
Windows XP
C#, Visual Studio
|
Verfasst: Di 12.01.10 15:48
Ja?
.*\.jpg
|
|
kostonstyle 
      
Beiträge: 94
|
Verfasst: 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.
Zuletzt bearbeitet von kostonstyle am Di 12.01.10 16:08, insgesamt 2-mal bearbeitet
|
|
bakachan
      
Beiträge: 503
Erhaltene Danke: 34
W7 (x64) Ultimate
C# / VB.NET (VS2010 Ultimate)
|
Verfasst: Di 12.01.10 16:07
Der grund für die Exception ist das du Quantifizierer schachtelst {1}*
{1} -> einmalig
* -> beliebig oft
|
|
kostonstyle 
      
Beiträge: 94
|
Verfasst: 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
      
Beiträge: 3803
Erhaltene Danke: 176
Arch Linux
Python, C, C++ (vim)
|
Verfasst: 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 
      
Beiträge: 94
|
Verfasst: 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
      
Beiträge: 3803
Erhaltene Danke: 176
Arch Linux
Python, C, C++ (vim)
|
Verfasst: 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 
      
Beiträge: 94
|
Verfasst: Di 12.01.10 17:37
aha ok....
aber wäre ein regulärer Ausdruck nicht besser dafür geeignet?
|
|
danielf
      
Beiträge: 1012
Erhaltene Danke: 24
Windows XP
C#, Visual Studio
|
Verfasst: 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
|
|