Auf Thema antworten

Sitze gerade vor einem pattern, dass nicht soll wie ich.

Ich nutze für Dateinamen eine bestimmte Benennungsmethode, die Dateinamen nach einem bestimmten Muster erzeugt. Unterstrich (_) ist dabei das Trennzeichen. Nach jedem Unterstrich kommt immer eine Kategorie oder Art der Datei, Datum etc.


Erlaubt soll dadurch sein:

[code=Java]String filename = "00000000_aaa_bbb_ccc";[/code]

oder

[code=Java]filename = "00000000_aaa_bbb_ccc_ddd";[/code]


Mein Pattern bisher:

[code=Java]Pattern.matches(".+(_.+){3,4}", filename); [/code]


Nicht erlaubt soll sein:

[code=Java]String filename = "00000000_aaa_bbb";

filename = "00000000_aaa";

filename = "00000000";

filename = "00000000_aaa_bbb_ccc_ddd_eee";

filename = "00000000_aaa_bbb_ccc_ddd_eee_fff";[/code]

etc pp


Leider erlaubt mein Pattern Dateien mit Unterstrichfolgen über D hinaus.

So ist z.B. [code=Java]filename = "00000000_aaa_bbb_ccc_ddd_eee.jpg";[/code] auch gültig.

Alles was kleiner ist, wird korrekt abgefangen.



Oben