Autor Beitrag
kostonstyle
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 94



BeitragVerfasst: 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 user profile iconKha: Topic aus C# - Die Sprache verschoben am Di 12.01.2010 um 15:40
danielf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1012
Erhaltene Danke: 24

Windows XP
C#, Visual Studio
BeitragVerfasst: Di 12.01.10 15:23 
Hallo,

und was ist dein Problem? Was hast du bisher versucht?

Gruß Daniel
kostonstyle Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 94



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1012
Erhaltene Danke: 24

Windows XP
C#, Visual Studio
BeitragVerfasst: Di 12.01.10 15:48 
Ja? :gruebel:

.*\.jpg
kostonstyle Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 94



BeitragVerfasst: Di 12.01.10 15:59 
habe mal folgendes versucht
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 503
Erhaltene Danke: 34

W7 (x64) Ultimate
C# / VB.NET (VS2010 Ultimate)
BeitragVerfasst: Di 12.01.10 16:07 
Der grund für die Exception ist das du Quantifizierer schachtelst {1}*
{1} -> einmalig
* -> beliebig oft
kostonstyle Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 94



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 94



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Di 12.01.10 17:04 
user profile iconkostonstyle hat folgendes geschrieben Zum zitierten Posting springen:
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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 94



BeitragVerfasst: Di 12.01.10 17:37 
aha ok....
aber wäre ein regulärer Ausdruck nicht besser dafür geeignet?
danielf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1012
Erhaltene Danke: 24

Windows XP
C#, Visual Studio
BeitragVerfasst: 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