使用java正则表达式提取两个标记之间的数据,但不提取标记之间的数据

使用java正则表达式提取两个标记之间的数据,但不提取标记之间的数据,java,regex,Java,Regex,可能重复: 例如:我需要亚伦、特布、阿巴查、瑞、阿巴希泽、哈利的数据。都在一条新的路线上 <a class="listing" href=http://eeee/a/hank_aaron/index.html">Aaron, Teb</a><br> <a class="listing" href=http://eeee/t/sani_abacha/index.html">Abacha, Jui</a><br>

可能重复:

例如:我需要亚伦、特布、阿巴查、瑞、阿巴希泽、哈利的数据。都在一条新的路线上

    <a class="listing" href=http://eeee/a/hank_aaron/index.html">Aaron, Teb</a><br>
    <a class="listing" href=http://eeee/t/sani_abacha/index.html">Abacha, Jui</a><br>
    <a class="listing" href=http://eeee/i/aslan_abashidze/index.html">Abashidze, Harry</a><br>



我编写了以下代码,但它也提取了标记。我哪里做错了。如何替换标记,或者Regexp是否错误

public static void main(String[] args) throws Exception {
    URL oracle = new URL("http://eeee/all/people/index.html");
    BufferedReader in = new BufferedReader(new InputStreamReader(oracle.openStream()));
    String input;
    String REGEX = "<a class=\"listing\"[^>]*>";
    while ((input = in.readLine()) != null){
        Pattern p = Pattern.compile(REGEX);
        Matcher m = p.matcher(input);
        while(m.find()) {
            System.out.println(input);
        }
    }
    in.close();
}   
publicstaticvoidmain(字符串[]args)引发异常{
URL oracle=新URL(“http://eeee/all/people/index.html");
BufferedReader in=新的BufferedReader(新的InputStreamReader(oracle.openStream());
字符串输入;
字符串REGEX=“]*>”;
而((input=in.readLine())!=null){
Pattern p=Pattern.compile(REGEX);
匹配器m=p.Matcher(输入);
while(m.find()){
系统输出打印项次(输入);
}
}
in.close();
}   
使用此正则表达式:

(?:<a class=\"listing\"[^>]*>)([^<]*)(?:<)

(?:]*>)([^这是以前的内容。@KerrekSB所说的。请学习缩进您的代码以便可读。:谢谢您的回答。它确实解决了我的问题。谢谢。
(?:<a class=\"listing\"[^>]*>)([^<]*)(?:<)