我写了这个正则表达式:
((http):\/\/\S*\.(jpg|gif|png))
这个正则表达式应该找到字符串中的每个图像链接
如果您单击下面的链接,您可以看到它工作正常。
http://rubular.com/r/FYwP8Aprdb
但是当我将它粘贴到 java 中并转义所有反斜杠并调用 replaceAll(regex, string);
程序找不到任何东西?
String regex = "((http):\\/\\/\\S*\\.(jpg|gif|png))";
boxText.replaceAll(regex, "**$0**");
上面的代码应该将每个图像都放在一个字符串中,然后将其封装在$0中。但是在运行程序和测试时,什么也没有发生。
public class SSCCE {
public static void main(String[] args) {
String boxText = "http://www.desibucket.com/db2/01/26039/26039.jpg";
String regex = "((http):\\/\\/\\S*\\.(jpg|gif|png))";
boxText.replaceAll(regex, "**$1**");
System.out.println(boxText);
}
/* output
http://www.desibucket.com/db2/01/26039/26039.jpg
*/
}
我的假设是我错误地转义了正则表达式,但我不确定。有任何想法吗?