正则截取指定字符串

package com.lgd.CoreTest;

import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

import androidx.appcompat.app.AppCompatActivity;

import com.lzy.okgo.OkGo;
import com.lzy.okgo.callback.StringCallback;
import com.lzy.okgo.model.Response;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private Button mMainBtn;
    /**
     * Hello World!
     */


    public static String TAG = "MainActivityQ";
    private EditText mActivityMainInput;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();


    }


    private void getSour() {

        OkGo.get("https://www.doutula.com/search?keyword=jj")
                .tag(this)
                .execute(new StringCallback() {
                    @Override
                    public void onSuccess(Response response) {
                        parseDate(response.body().toString());
                    }

                    @Override
                    public void onError(Response response) {
                        super.onError(response);
                        Log.i(TAG, "onError:" + response.body());
                    }
                });
    }

    public void parseDate(final String dates) {
        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    //从一个URL加载一个Document对象。
//                    Document doc = Jsoup.connect("https://www.doutula.com/search?keyword=魔女").get();
                    Document doc = Jsoup.parse(dates);
                    //选择“美食天下”所在节点
                    //获取指定名称为 random_picture class内的所有内容
                    Elements content = doc.getElementsByClass("random_picture");
                    //获取第一项 一般就一个
                    Element element = content.get(0);
                    List links = element.children();
                    for (int i = 0; i < 72; i++) {
                        Element bean = links.get(i);
                        String as = bean.getElementsByAttribute("data-backup").toString();
                        Log.i(TAG, i + bean.text() + "   图片地址  " + as);

                        String subS = getSubUtil(as);
                        Log.i(TAG, i + "   图片地址  " + subS);

                    }
                } catch (Exception e) {
                    Log.i(TAG, e.toString());
                }
            }
        }).start();

    }


    public String getSubUtil(String soap) {
        String reg = "data-backup=\"(.*?)\" class=\"";
        Pattern pattern = Pattern.compile(reg);
        // 内容 与 匹配规则 的测试
        Matcher matcher = pattern.matcher(soap);
        if (matcher.find()) {
            // 包含前后的两个字符
//            Log.i(TAG,  matcher.group());
            // 不包含前后的两个字符
//            Log.i(TAG,   matcher.group(1) );
            return matcher.group(1);
        } else {
            Log.i(TAG, " 没有匹配到内容....");
        }
        return "";
    }


    private void initView() {
        mMainBtn = (Button) findViewById(R.id.main_btn);
        mMainBtn.setOnClickListener(this);
        mActivityMainInput = (EditText) findViewById(R.id.activity_main_input);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            default:
                break;
            case R.id.main_btn:

                getSour();
                break;
        }
    }
}

正则截取指定字符串_第1张图片

你可能感兴趣的:(正则截取指定字符串)