RegEx für Dateinamen in SharePoint
Hallo Leute
Ich bin nicht sehr gut mit RegEx würde es jedoch gerne darüber lösen. Und zwar unterstützt SharePoint viele Sonderzeichen nicht, die das FileSystem jedoch unterstützen. Nun die Bedingungen die erfüllt werden müssen habe ich aus der http://support.microsoft.com/kb/905231 herausgefunden und habe versucht den Regex dazu, zu erstellen. Leider funktioniert er nicht ganz und ich weiss nicht wie ihn zusammenzufügen soll. Wäre über eine Hilfe sehr dankbar.
Folgendes habe ich schon zusammengestellt:
Keine Endung mit:
files _files -Dateien _fichiers _bestanden _Datei _archivos -Filer _tiedostot _pliki _soubory _elemei _ficheiros _arquivos _dosyalar _datoteke _fitxers _failid _fails _bylos _fajlovi _fitxategiak
(.files|_files|-Dateien|_fichiers|_bestanden|_Datei|_archivos|-Filer|_tiedostot|_pliki|_soubory|_elemei|_ficheiros|_arquivos|_dosyalar|_datoteke|_fitxers|_failid|_fails|_bylos|_fajlovi|_fitxategiak)*$
Sie können keinen Dateinamen mit dem Punkt starten:
^.
Sie können keinen Dateinamen mit dem Punkt enden:
.$
Punktzeichen nacheinander in der Mitte ein Dateiname kann nicht verwendet werden.
Keine Ahnung wie man das verhindert
Sie können nicht die folgenden Zeichen an einer beliebigen Stelle in einem Dateinamen verwenden:
˜#%&*{}/\?:|"⟨⟩
(\˜*\#*%*&*\*\{*\}*\/*\\*\?*\:*\|*\"*\⟨*\⟩*)
Ist dieses Vorgehen richtig oder sollte ich eher mit einem negativen Vergleich vorgehen, um auch ganz sicher zu sein, dass nicht noch irgendwelche Sonderzeichen durchkommen:
[^a-zA-Z0-9 _-]
Vielen Dank
Ich bin nicht sehr gut mit RegEx würde es jedoch gerne darüber lösen. Und zwar unterstützt SharePoint viele Sonderzeichen nicht, die das FileSystem jedoch unterstützen. Nun die Bedingungen die erfüllt werden müssen habe ich aus der http://support.microsoft.com/kb/905231 herausgefunden und habe versucht den Regex dazu, zu erstellen. Leider funktioniert er nicht ganz und ich weiss nicht wie ihn zusammenzufügen soll. Wäre über eine Hilfe sehr dankbar.
Folgendes habe ich schon zusammengestellt:
Keine Endung mit:
files _files -Dateien _fichiers _bestanden _Datei _archivos -Filer _tiedostot _pliki _soubory _elemei _ficheiros _arquivos _dosyalar _datoteke _fitxers _failid _fails _bylos _fajlovi _fitxategiak
(.files|_files|-Dateien|_fichiers|_bestanden|_Datei|_archivos|-Filer|_tiedostot|_pliki|_soubory|_elemei|_ficheiros|_arquivos|_dosyalar|_datoteke|_fitxers|_failid|_fails|_bylos|_fajlovi|_fitxategiak)*$
Sie können keinen Dateinamen mit dem Punkt starten:
^.
Sie können keinen Dateinamen mit dem Punkt enden:
.$
Punktzeichen nacheinander in der Mitte ein Dateiname kann nicht verwendet werden.
Keine Ahnung wie man das verhindert
Sie können nicht die folgenden Zeichen an einer beliebigen Stelle in einem Dateinamen verwenden:
˜#%&*{}/\?:|"⟨⟩
(\˜*\#*%*&*\*\{*\}*\/*\\*\?*\:*\|*\"*\⟨*\⟩*)
Ist dieses Vorgehen richtig oder sollte ich eher mit einem negativen Vergleich vorgehen, um auch ganz sicher zu sein, dass nicht noch irgendwelche Sonderzeichen durchkommen:
[^a-zA-Z0-9 _-]
Vielen Dank
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 210879
Url: https://administrator.de/contentid/210879
Ausgedruckt am: 25.11.2024 um 00:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo Mineralwasser (hatte ich heut' schon 2 Liter ),
für dein Vorhaben sollte das folgende RegEx funktionieren:
In Verbindung mit der Replace-Funktion des RegEx-Objects könntest du diese Illegalen Zeichenfolgen ersetzen wie in diesem Beispiel: http://geek.hubkey.com/2008/11/get-valid-sharepoint-file-or-folder.html
Grüße Uwe
gelöste Beitrage bitte auch als solche markieren.Danke
für dein Vorhaben sollte das folgende RegEx funktionieren:
^\.|[\x00-\x1F,\x7B-\x9F,"",#,%,&,*,/,:,<,>,?,\\]+|(\.\.)+|\.$|\.files$|_files$|-Dateien$|_fichiers$|_bestanden$|_Datei$|_archivos$|-Filer$|_tiedostot$|_pliki$|_soubory$|_elemei$|_ficheiros$|_arquivos$|_dosyalar$|_datoteke$|_fitxers$|_failid$|_fails$|_bylos$|_fajlovi$|_fitxategiak$
Grüße Uwe
gelöste Beitrage bitte auch als solche markieren.Danke