Regulärer Ausdruck

Benzol

Erfahrenes Mitglied
Guten Morgen!
Ich habe ein problem mit meinem Regulären Audruck. Dieser soll den Dateinamen überprüfen, ob er nach dem Muster tp*.dbf aufgebaut ist. In dem Verzeichnis, welches ich durchsuche Befindet sich die Datei TP041208.DBF. Jene sollte eigentlich in das Verzeichnis loeschen verschoben werden. Leider wird die Datei nicht erkannt :(
Wo habe ich da meinen Fehler?

Code:
string sRegex = @"^(TP)*(\.DBF)$"; //Hier den Asudruck bilden
int x = 0;
foreach(Object sFile in aFileList)
{
FileInfo fiFile = new FileInfo(sVerzeichnis+"\\"+sFile);
DateTime dtLastWrite = fiFile.LastWriteTime;
if(dtLastWrite < dtNowSub)
{
Regex rxFile = new Regex(sRegex,RegexOptions.None);
Match maFile = rxFile.Match(fiFile.Name);
if(maFile.Success)
{
x++;
fiFile.MoveTo(sVerzeichnis+"\\loeschen\\"+fiFile.Name);
}
}
}
 
Vielleicht klappt:

Code:
string sRegex = @"(^(TP)*(\.DBF)$)"

oder nimm:

Code:
string sRegex = @"(TP041208.DBF)"

MFG cosmo
 
Zuletzt bearbeitet:
cosmochaosmaker hat gesagt.:
...
oder nimm:

Code:
string sRegex = @"(TP041208.DBF)"

MFG cosmo

Es muss ja Variabel sein. Punkt ist nur, das genau die Datei da ist, und somit in das Kriterium fallen sollte. Habs jetzt hinbekommen, mit ^TP.*\.DBF geht es.
Danke trotzdem :)
 
Hi.

Probier doch mal:

string sRegex = @"^(TP)+.*(\.DBF)$"

TP muss ja mindestens einmal am Zeilenanfang stehen, also dafür das "^(TP)+", dann können keine oder mehrere beliebige Zeichen kommen, dafür das (.*) (der * kann auch durch ein + ersetzt werden falls nach TP auf jeden Fall irgendetwas kommen muss) und dass StringEnde hast du ja schon richtig mit "(\.DBF)$" beschrieben.
 

Neue Beiträge

Zurück