有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我对正则表达式模式有问题

我需要帮忙做一个代理刮刀。我的应用程序无缘无故抛出异常

我的密码

package com.ElwynDev.PastBinBot;

import java.io.IOException;
import java.util.HashSet;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class ProxyScraper {

    public static void ScrapProxy(int Pages) {

        final int[] searchIds = new int[] { 225957, 278235, 240804, 258000, 227364, 244555, 438084, 438085, 438086, 438087, 438088};
        final String searchUrl = "http://www.proxyfire.net/forum/showthread.php?t=56861?";
        final String proxyExtractingRegex = "[1-9]{2,3}.[1-9]{2,3}.[1-9]{2,3}.[1-9]{2,3}";

        Pattern r = Pattern.compile(proxyExtractingRegex);

        HashSet<String> proxyHashSet = new HashSet<String>();
        for(int searchId : searchIds) {
            Matcher m = null;

            try {
                m = r.matcher(ProxyHandle.get(searchUrl + searchId, null, Pages));
                while(true) {
                    if(m.find()){
                        proxyHashSet.add(m.group());
                    }
                    else
                        break;
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        for(String proxy : proxyHashSet) {
            FileWrighter.logTo("proxy.txt", proxy + "\n");
        }
    }
};
Exception in thread "main" java.lang.NullPointerException
at java.util.regex.Matcher.getTextLength(Unknown Source)
at java.util.regex.Matcher.reset(Unknown Source)
at java.util.regex.Matcher.<init>(Unknown Source)
at java.util.regex.Pattern.matcher(Unknown Source)
at com.ElwynDev.PastBinBot.ProxyScraper.ScrapProxy(ProxyScraper.java:24)
at com.ElwynDev.PastBinBot.Main.main(Main.java:17)

共 (1) 个答案

  1. # 1 楼答案

    看起来是这样的:

    ProxyHandle.get(searchUrl + searchId, null, Pages)
    

    正在返回null。我不能告诉你为什么。我建议使用调试器来解决这个问题