ich einen regulären Ausdruck zu schreiben, müssen die Javascript-Dateien findet, dieFluchtweg Separator in einem regulären Ausdruck
<anypath><slash>js<slash><anything>.js
Zum Beispiel passen, sollte es für beide arbeiten:
- c: \ mysite \ js \ common.js (Windows)
- /var/www/mysite/js/common.js (UNIX)
Das Problem ist, dass die Datei Separator in Windows nicht richtig übersetzt werden:
pattern = Pattern.compile(
"^(.+?)" +
File.separator +
"js" +
File.separator +
"(.+?).js$");
Werfen
java.util.regex.PatternSyntaxException: Illegal/unsupported escape sequence
Gibt es eine Möglichkeit, einen gemeinsamen regulären Ausdruck zu verwenden, die in Windows und UNIX-Systemen funktionieren?
Großartig, schade, dass es nur seit Java 1.5+ verfügbar ist (ich brauche es noch in 1.4) –
seit Java 7 können Sie 'FileSystems.getDefault(). GetSeparator()' anstelle von 'File verwenden. separator' – herau
@herau Gibt es einen Unterschied? – Tomalak