Hallo,
Ich habe eine Liste von Dateinamen und möchte sie filtern nach Dateiendung.
Als Filter ist folgendes möglich: .doc,.pdf oder alle . oder a.edm oder b.doc.
mehrere Filter sind mit Komma getrennt.
wie kann ich das am besten realisieren mit regex? oder gibt es andere Möglichkeiten?
Wenn es die Namen real gibt:
Directory.GetFiles
Wenn nicht, brauchst Du meines Wissens nach Regex:
https://regex101.com/r/yzz4lJ/1
NuGet Packages im Code auslesen
lock Alternative für async/await
Beim CleanCode zählen nicht die Regeln, sondern dass wir uns mit diesen Regeln befassen, selbst wenn wir sie nicht befolgen - hoffentlich nach reiflichen Überlegungen.
Es gibt ja noch die Path.GetExtension Methode.
Damit kann man dann einen Stringvergleich machen und braucht keine Regenechse.
Falls komplexere Filter möglich sind, dann ist "Wildcard Pattern Matching" das passende Stichwort dazu, s. z.B. Wildcard Pattern Matching (auch wenn der C#-Code nicht optimal ist, da das Original auf C bzw. C++ basiert).
In Matching strings with wildcard sind noch einige Antworten, um daraus ein Regex zu erzeugen.