Regulärer Ausdruck für einen FileNameFilter

  • Themenstarter Themenstarter xhi2018
  • Beginndatum Beginndatum
X

xhi2018

Gast
Hallo,

Reguläre Ausdrücke - werd' ich sie je verstehen...? 🙁

Ich versuche gerade verzweifelt einen regulären Ausdruck zu finden der folgendes matched. In einem Verzeichnis befinden sich viele Dateien mit allen möglichen Dateiendungen. Ich will nur die Dateien mit der Endung
Code:
'.txt'
. Wenn sich jedoch im Dateinamen der Bestandteil
Code:
'-not'
befindet dann soll der reguläre Ausdruck nicht matchen.
Beispiel:
Code:
foobar-irgendwas.txt
kenne-ich-nicht.txt
kenne-ich-nicht-not.txt
foobar-irgendwas.bar
file-name.xml
Der FileNameFilter soll mir also
Code:
foobar-irgendwas.txt
und
Code:
kenne-ich-nicht.txt
liefern. Jedoch nicht
Code:
kenne-ich-nicht-not.txt
.
Der Bestandteil den ich nicht matchen will - also
Code:
'-not'
kommt immer direkt vor der Dateiendung
Code:
'.txt'
. Wenn das hilft den regulären Ausdruck etwas einfacher zu formulieren. Ich dachte mit
Code:
.*(\\-not)\\.txt
oder
Code:
.*(^\\-not)\\.txt
würde ich glücklich - ist aber leider nicht so... ;(

Wäre jemand von Euch so freundich und würde mir etwas auf die Sprünge helfen.

Gruß & herzlichen Dank!
 
Muss das unbedingt nen regulärer ausdruck sein?

Java:
boolean match = deinString.endWith(".txt") && !deinString.contains("-not");
 

Zurück
Oben