Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android正则表达式从站点获取图像url_Java_Android_Regex_Pattern Matching_Expression - Fatal编程技术网

Java Android正则表达式从站点获取图像url

Java Android正则表达式从站点获取图像url,java,android,regex,pattern-matching,expression,Java,Android,Regex,Pattern Matching,Expression,我正在制作一个应用程序,我有这个问题 我使用模式识别代码来查找站点上文章的图像url 问题是,以我的方式,它抓取的第一张照片非常小 模式p=Pattern.compile(“.\.jpg”); 有一个XL图像,我想抓住它的目的地 我想使用一种模式,在链接的末尾是这样的 Pattern p=Pattern.compile((.\[\uxl]+.jpg)) 或 Pattern p=Pattern.compile(“.\\ uxl.jpg”) 这就是我需要你帮助的地方 这是密码 公开募捐{ 因为在网站

我正在制作一个应用程序,我有这个问题 我使用模式识别代码来查找站点上文章的图像url

问题是,以我的方式,它抓取的第一张照片非常小

模式p=Pattern.compile(“.\.jpg”); 有一个XL图像,我想抓住它的目的地

我想使用一种模式,在链接的末尾是这样的

Pattern p=Pattern.compile((.\[\uxl]+.jpg))

或 Pattern p=Pattern.compile(“.\\ uxl.jpg”)

这就是我需要你帮助的地方 这是密码

公开募捐{

因为在网站上还有一个jpg,它有这个XL

这些都是给定页面上的.jpg

href=“/media/k2/items/cache/df95c3d9029788dcdb6f520e9151056c_XL.jpg”

/媒体/k2/items/cache/df95c3d9029788dcdb6f520e9151056c_L.jpg”

“/images/stories/atnea2.jpg”

/图片/故事/diarkeias bc.jpg“


您只想检查以“.jpg”结尾的字符串,请使用正则表达式


String regex=“[\\x20-\\x7E]*\\.jpg$”


如果要查找文件的精确匹配项,请以*XL.jpg结尾


字符串url=”“;
String regex=“[0-9a-zA-Z\\-\\.\uu/:]*XL\\\.jpg$”;
System.out.println(url.matches(regex));//如果大小写匹配,则为print true


如果URL字符串中有空格或特殊字符以及0-9a-zA-Z字符,请使用正则表达式。(这将返回以*XL.jpg结尾的任何字符串)
字符串url=“%!@$%/cache.sample_ssXL.jpg”;
字符串正则表达式=“[\\x20-\\x7E]*XL\\.jpg$”;

此正则表达式:
/(媒体图像)/[^\.]*\.jpg

匹配您的所有样本:

href=“/media/k2/items/cache/df95c3d9029788dcdb6f520e9151056c_XL.jpg” /媒体/k2/items/cache/df95c3d9029788dcdb6f520e9151056c_L.jpg” “/images/stories/atnea2.jpg”
/images/stories/diarkeias bc.jpg“

好的,我解决了它。我使用了这个模式p=Pattern.compile(“/media/k2/items/cache.*\\XL.jpg”);因为示例不是从http://..... 我使用一个使用标准的字符串局部变量,并将匹配器字符串放入………..string imglink=“partiallink;
        //Pattern p = Pattern.compile("http://planetaris.gr/media/k2/items/cache.*\\.jpg");
        //Pattern p = Pattern.compile("http://planetaris.gr/media/k2/items/cache.*\\._XL.jpg");
        Pattern p = Pattern.compile("(http://planetaris.gr/media/k2/items/cache.)+(.*\\[_XL]+(.jpg))");

        try {
                    URL url = new URL(selectedRssItem.getLink());

                    URLConnection urlc = url.openConnection();
                    Log.d("MIMIS_LINK", url.toString());
                    BufferedInputStream buffer = new BufferedInputStream(urlc.getInputStream());

                    builder = new StringBuilder();
                    int byteRead;
                    while ((byteRead = buffer.read()) != -1)
                        builder.append((char) byteRead);

                    buffer.close();

                } catch (MalformedURLException ex) {
                    ex.printStackTrace();
                } catch (IOException ex) {
                    ex.printStackTrace();
                }

                Matcher m = p.matcher(builder.toString());


                if (m.find()) {

                try {
                    bitmap = BitmapFactory.decodeStream((InputStream)new URL(m.group(0)).getContent());
                } catch (MalformedURLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

                    Log.d("MIMIS_MATCHER", selectedRssItem.getDescription().toString());
                 };

        handler.sendEmptyMessage(0);

    }
    }.start();
    }

private Handler handler = new Handler() {

    //@SuppressWarnings("null")
    @Override
    public void handleMessage(Message msg) {

        mSpinner.clearAnimation();
        mSpinner.setVisibility(View.GONE);
            //progressDialog.dismiss();
        myimageview.setImageBitmap(bitmap);

        if (bitmap==null){

            myimageview.setImageResource(R.drawable.aris_no_image);

        };
        }       
        };  
String url = "http://planetaris.gr/media/k2/items/cache.sample_XL.jpg";
String regex = "[0-9a-zA-Z\\-\\._/:]*[XL]\\.jpg$";
System.out.println(url.matches(regex)); //this will be print true if case matches files ends with *XL.jpg and *X.jpg and *L.jpg.