先方参照で文字列を抽出する

package learning.regexp;

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

public class RegexpExample {

	public static void main(String[] args) {
		Pattern pattern = Pattern.compile("<a href=['\"]([^'\"]+)['\"]>", Pattern.CASE_INSENSITIVE);
		Matcher matcher = pattern.matcher("<b><a href='http://sample.jp/index.html'></b>");
	    while (matcher.find()) {
	    	System.out.println(matcher.group(1));
	    }

	    matcher = pattern.matcher("<b><a href=\"http://sample.jp/index.html\"></b>");
	    while (matcher.find()) {
	    	System.out.println(matcher.group(1));
	    }

		matcher = pattern.matcher("<B><A HREF='HTTP://SAMPLE.JP/INDEX.HTML'></B>");
	    while (matcher.find()) {
	    	System.out.println(matcher.group(1));
	    }

	}

}