Las otras respuestas son ciertas. Java Regex API no es una herramienta adecuada para lograr su objetivo. Use herramientas de alto nivel eficientes, seguras y bien probadas mencionadas en las otras respuestas.
Si su pregunta se refiere más bien API expresión regular que un problema de la vida real (propósitos, por ejemplo, el aprendizaje) - que puede hacer con el siguiente código:
String html = "foo <a href='link1'>bar</a> baz <a href='link2'>qux</a> foo";
Pattern p = Pattern.compile("<a href='(.*?)'>");
Matcher m = p.matcher(html);
while(m.find()) {
System.out.println(m.group(0));
System.out.println(m.group(1));
}
y la salida es:
<a href='link1'>
link1
<a href='link2'>
link2
Tenga en cuenta que calificador perezoso/reacio *? debe usarse para reducir la agrupación a la etiqueta única. El grupo 0 es el partido completo, el grupo 1 es el siguiente partido del grupo (el siguiente par de paréntesis).
cuestión canónica: * [etiquetas de apertura de los partidos, excepto RegEx etiquetas auto-contenida XHTML] (http://stackoverflow.com/questions/1732348/) * Depende de –