Tengo que escribir una expresión regular que encuentra archivos javascript que responden aescape separador de ruta en una expresión regular
<anypath><slash>js<slash><anything>.js
Por ejemplo, debería funcionar para ambos:
- c: \ mysite \ js \ common.js (Windows)
- /var/www/mysite/js/common.js (UNIX)
el problema es que el archivo separador en Windows no está siendo adecuadamente escapó:
pattern = Pattern.compile(
"^(.+?)" +
File.separator +
"js" +
File.separator +
"(.+?).js$");
Lanzar
java.util.regex.PatternSyntaxException: Illegal/unsupported escape sequence
¿Hay alguna manera de utilizar una expresión regular común que funciona tanto en sistemas Windows y UNIX?
Genial, qué pena que solo esté disponible desde Java 1.5+ (aún necesito que funcione en 1.4) –
desde Java 7, puede usar 'FileSystems.getDefault(). GetSeparator()' en lugar de 'File. separador' – herau
@herau ¿Hay alguna diferencia? – Tomalak