Gibt es einen regulären Ausdruck, der dem some.prefix
Teil der beiden folgenden Dateinamen entspricht?passender Dateiname mit regulärem Ausdruck mit mehreren Erweiterungen
xyz
kann jedes Zeichen von[a-z0-9-_\ ]
some.prefix
Teil sein kann, in[a-zA-Z0-9-_\.\ ]
beliebiges Zeichen sein.
Ich habe absichtlich eine .
in some.prefix
enthalten.
some.prefix.xyz.xyz
some.prefix.xyz
Ich habe viele Kombinationen ausprobiert. Zum Beispiel:
(?P<prefix>[a-zA-Z0-9-_\.]+)(?:\.[a-z0-9]+\.gz|\.[a-z0-9]+)
Es arbeitet mit abc.def.csv
von abc.def
fangen, diese aber nicht in abc.def.csv.gz
zu fangen.
Ich benutze hauptsächlich Python, aber ich dachte, die Regex selbst sollte für viele Sprachen gelten.
Update: Es ist nicht möglich, siehe Diskussion mit @Nowox unten.
Sprache/Werkzeug? – Tushar
Entfernen Sie alles nach dem letzten '.' wird Dateiname geben. Ersetzen Sie '\. [^.] + $'. – Tushar
Ich habe vergessen hinzuzufügen, dass der Präfixteil auch '\ .' enthalten kann. Jetzt hinzugefügt. Ich frage mich, ob es überhaupt möglich ist, solch eine Regex zu bekommen, erinnere mich vage daran, dass Regex irgendwie gierig ist. – zyxue