gpt4 book ai didi

java - 如何从字符串中提取图像url?

转载 作者:太空宇宙 更新时间:2023-11-04 12:45:42 26 4
gpt4 key购买 nike

我正在尝试从字符串内部提取图像网址。我正在使用模式和匹配器。我正在使用正则表达式来匹配相同的内容。每当我尝试调试代码时,matcher.matches() 和 matcher.find() 都会结果为 false。我附上了图像网址和正则表达式以及我的代码。

Pattern pattern_name;
Matcher matcher_name;

String regex = "(http(s?):/)(/[^/]+)+\" + \"\\.(?:jpg|gif|png)";
String url = "http://www.medivision360.com/pharma/pages/articleImg/thumbnail/thumb3756d839adc5da3.jpg";

pattern_name = Pattern.compile(regex);
matcher_name = pattern_name.matcher(url);

matcher_name.matches();
matcher_name.find();

最佳答案

您的正则表达式似乎存在一些问题,\"+\" 应该来自您误认为正则表达式的某些代码。该子模式需要在扩展名之前出现一个引号、一个或多个空格、然后一个空格和另一个双引号。它匹配类似 http://www.medivision360.com/pharma/pages/articleImg/thumbnail/thumb3756d839adc5da3" ".jpg 的内容.

另外,开头有两个多余的捕获组,不需要使用它们。

使用

String regex = "https?:/(?:/[^/]+)+\\.(?:jpg|gif|png)";

参见this demo

Java demo :

String rx = "https?:/(?:/[^/]+)+\\.(?:jpg|gif|png)";
String url = "http://www.medivision360.com/pharma/pages/articleImg/thumbnail/thumb3756d839adc5da3.jpg";
Pattern pat = Pattern.compile(rx);
Matcher matcher = pat.matcher(url);
if (matcher.matches()) {
System.out.println(matcher.group());
}

请注意,Matcher#matches() 需要完整的字符串匹配,而 Matcher#find() 将查找部分匹配,即较大字符串内的匹配。

关于java - 如何从字符串中提取图像url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36362915/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com