我有这个正则表达式:
url\(\s*(['"]?+)(.*?)\1\s*\)
从css文件中检索所有网址。
我使用此代码,但是我收到错误:
Pattern p = Pattern.compile("url\(\s*(['\"]?+)(.*?)\1\s*\)");
Matcher m = p.matcher(cssText);
while (m.find()) {
println m.group()
}
您可以注意到我将\
添加到esacpe "
。但徒劳无功
答案 0 :(得分:3)
您需要在Java正则表达式中使用\\
而不是\
:
Pattern p = Pattern.compile( "url\\(\\s*(['\"]?+)(.*?)\\1\\s*\\)" );
\
用于从String对象转义\
用于从底层正则表达式引擎中转义