我有一个字符串如下
String string = "background: transparent url(../../images/oracle-java-logo.png) 0px 0px no-repeat;"
我只想获取url值(../../images/oracle-java-logo.png)。
所以我按如下方式使用String正则表达式,但是我只得到该正则表达式的空值
Pattern patternUrl = Pattern.compile(" url((.*?))", Pattern.CASE_INSENSITIVE);
String string = "background: transparent url(../../images/oracle-java-logo.png) 0px 0px no-repeat;"
Matcher matcher = patternUrl.matcher(string);
if (matcher.find()) {
System.out.println("Regex is--"+(matcher.group(1)));
}
它仅打印正则表达式为-。
上面的代码有什么问题?希望有人会协助
最佳答案
Pattern patternUrl = Pattern.compile("url(\\(([^)]+)\\))", Pattern.CASE_INSENSITIVE);
Matcher matcher = patternUrl.matcher(string);
if (matcher.find()) {
System.out.println("Regex is--"+(matcher.group(1)));
}
关于java - Java中右括号之间的字符串正则表达式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35146749/