code: public static Map<HyperlinkPart, List<String>> extractHyperlinks(String html) {
          Map<HyperlinkPart, List<String>> hyperlinksMap = new HashMap<>();
          hyperlinksMap.put(HyperlinkPart.HTMLTAG, new ArrayList<>());
          hyperlinksMap.put(HyperlinkPart.URL, new ArrayList<>());
          hyperlinksMap.put(HyperlinkPart.ANCHORTEXT, new ArrayList<>());
                  
          Matcher m = HYPERLINK_PATTERN.matcher(html);
          while (m.find()) {
              if(m.groupCount()==2) {
                  String tag = m.group(0);
                  String url = m.group(1);
                  String anchortext = m.group(2);
                  hyperlinksMap.get(HyperlinkPart.HTMLTAG).add(tag);
                  hyperlinksMap.get(HyperlinkPart.URL).add(url);
                  hyperlinksMap.get(HyperlinkPart.ANCHORTEXT).add(anchortext);
              }
          }
          return hyperlinksMap;
      }
docs: Extracts the hyperlinks from an html string and returns their components
  in a map.
  
  @param html
  @return