如何使用正则表达式包含"用Pattern.compile

时间:2014-10-26 08:24:00

标签: java regex

我有这个正则表达式:

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 "。但徒劳无功

1 个答案:

答案 0 :(得分:3)

您需要在Java正则表达式中使用\\而不是\

Pattern p = Pattern.compile( "url\\(\\s*(['\"]?+)(.*?)\\1\\s*\\)" );
  • 1st \用于从String对象转义
  • 第二个\用于从底层正则表达式引擎中转义