code: public List<String[]> getAllMatches(String string) {
  		Matcher matcher = pattern.matcher(string);
  		List<String[]> matched = new ArrayList<String[]>();
  		while(matcher.find()) {
  			int count = matcher.groupCount();
  			String [] strings = new String[count];
  			for(int i = 0; i < count; ++i) {
  				strings[i] = matcher.group(i+1);				
  			}
  			matched.add(strings);
  		} 
  		return matched;
  	}
docs: Retrieves a list of tokens in the input string that
  match this regular expression.
  
  @param string
  the input string.
  @return
  a list of arrays of strings, each representing a set of strings
  matched in the input string.