在Java中,您必须使用
java.util.regex包中的Pattern和Matcher.
编译模式,然后使用字符串实例化匹配器,然后查找与模式匹配的所有内容.
Pattern p = Pattern.compile("...");
Matcher m = p.matcher("your CSS file as a String");
while (m.find()) {
// Here use m.group(), m.group(1), ...
}
CSS 2.1规范指出:
The format of a URI value is ‘url(‘ followed by optional white space followed by an optional single quote (‘) or double quote (“) character followed by the URI itself, followed by an optional single quote (‘) or double quote (“) character followed by optional white space followed by ‘)’. The two quote characters must be the same.
因此你可以使用像这样的正则表达式:
url\(\s*(['"]?+)(.*?)\1\s*\)
.*?非贪婪,允许你根据需要采取尽可能少的字符.占有量词避免了[‘“]中的任何回溯?