Hallo zusammen,
Hier ist ja schon viel über regular expressions diskutiert worden... Leider hilft mir keiner der hier gefundenen Beiträge - und auch Google entpuppte sich als wenig hilfreich. :###
Und zwar programmiere ich derzeit an einer kleinen Applikation, die eine Art Installer werden soll. (Über dessen Sinn oder Unsinn mag ich nicht diskutieren...)
In einem Schritt kann man einen Pfad eingeben, wo die Dateien hinkopiert werden sollen. Ich möchte überprüfen, ob dieser Pfad gültig ist, also vorne ein Laufwerksbuchstabe, keine von Windows verbotenen Zeichen wie ?, <, >, * etc. in den Ordnernamen,...
Ich hatte da an regular expressions gedacht. Nun sitze ich bereits seit Stunden daran, diesen Ausdruck zusammenzupfriemeln. Folgender ist herausgekommen:
[a-zA-Z]:\\\\ für den Laufwerksbuchstaben
dann 0 mal oder bleibig oft "ordnername\" und optional danach "ordnername" oder "ordnername\"
Das ganze funktioniert leider nicht, außer einem einfachen "c:\" oder "e:\" etc. erkennt er leider nichts. Ich teste das Ganze immer nur mit
Wahrscheinlich bin ich einfach zu verbohrt im Moment, um den Fehler zu finden, aber es macht mich wahnsinnig.
Hat jemand einen Geisteblitz? Oder hat jemand vielleicht eine Idee, wie man eine Pfadangabe anders validieren kann?
Vielen vielen Dank schon mal.
Kerstin
Hier ist ja schon viel über regular expressions diskutiert worden... Leider hilft mir keiner der hier gefundenen Beiträge - und auch Google entpuppte sich als wenig hilfreich. :###
Und zwar programmiere ich derzeit an einer kleinen Applikation, die eine Art Installer werden soll. (Über dessen Sinn oder Unsinn mag ich nicht diskutieren...)
In einem Schritt kann man einen Pfad eingeben, wo die Dateien hinkopiert werden sollen. Ich möchte überprüfen, ob dieser Pfad gültig ist, also vorne ein Laufwerksbuchstabe, keine von Windows verbotenen Zeichen wie ?, <, >, * etc. in den Ordnernamen,...
Ich hatte da an regular expressions gedacht. Nun sitze ich bereits seit Stunden daran, diesen Ausdruck zusammenzupfriemeln. Folgender ist herausgekommen:
Code:
[a-zA-Z]:\\\\[[[^/:*?\"<>|]+\\\\]*[[^/:*?\"<>|]+]\\\\?+]?+
[a-zA-Z]:\\\\ für den Laufwerksbuchstaben
dann 0 mal oder bleibig oft "ordnername\" und optional danach "ordnername" oder "ordnername\"
Das ganze funktioniert leider nicht, außer einem einfachen "c:\" oder "e:\" etc. erkennt er leider nichts. Ich teste das Ganze immer nur mit
Code:
public class test {
public static void main(String[] args) {
String test = "C:\\bla";
if (test.matches("[a-zA-Z]:\\\\[[[^/:*?\"<>|]+\\\\]*[[^/:*?\"<>|]+]\\\\?+]?+")) {
System.out.println("Ja doch");
}
}
}
Wahrscheinlich bin ich einfach zu verbohrt im Moment, um den Fehler zu finden, aber es macht mich wahnsinnig.
Hat jemand einen Geisteblitz? Oder hat jemand vielleicht eine Idee, wie man eine Pfadangabe anders validieren kann?
Vielen vielen Dank schon mal.
Kerstin