【发布时间】:2015-01-16 14:00:46
【问题描述】:
我将我的项目从 Eclipse 迁移到 Android Studio,一切正常。在这个项目中,我有一个正则表达式,它应该在我从 API 获得的 json 对象中找到所有图像 url。
这是我的正则表达式:
Pattern pattern = Pattern.compile("https?:\\/\\/[^\"]*?\\.(png|jpe?g|img)");
Matcher matcher = pattern.matcher(obj.toString());
while(matcher.find()) {
ImageBackgroundFetcher.getInstance(mActivity).addImageToLoadingQueue(matcher.group());
}
obj 是我拥有的带有图像网址的 JSONObject。它看起来像下面,我想提取图像的 url(粗体标记部分) {"图片":"http:\/\/www.test.de\/media\/2015\/01\/16\/bildtitel.jpg"}
在我将项目从 Eclipse 迁移到 Android Studio 之后,这个 Regex 不再工作了。 matcher.find()-Method 没有返回 true,Android Studio 在正则表达式部分 "\\/\\/" 的代码中给了我一个警告,上面写着“冗余字符转义”
我已经用谷歌搜索了,但没有找到解决方案。任何解决问题的想法都会很棒,在此先感谢;)
【问题讨论】:
-
不要转义正斜杠。
-
"redundant character escape"显然首先要尝试的是,鉴于错误消息,删除字符转义?!之后您会收到什么错误消息?