正则表达式中的转义路径分隔符
我需要编写一个正则表达式来查找匹配的javascript文件
<anypath><slash>js<slash><anything>.js
例如,它应该适用于两者:
- c:\mysite\js\common.js (Windows)
- /var/www/mysite/js/common.js (UNIX)
问题是Windows中的文件分隔符没有被正确转义:
pattern = Pattern.compile(
"^(.+?)" +
File.separator +
"js" +
File.separator +
"(.+?).js$" );
扔
java.util.regex.PatternSyntaxException: Illegal/unsupported escape sequence
有没有办法使用在Windows和UNIX系统中都有效的通用正则表达式?