hi, do we have something like the below already ? if not, would like to contribute to commons, maybe StringUtils ?
/** * Matches a string to a regex and returns the matches as String[][], * each row is a match, each column a group * @param source : string to be matched * @param regex : regex to be matched * @return : String[][] containing matches */ public static String[][] getMatches( String source, String regex){ Pattern pattern = Pattern.compile( regex); Matcher m = pattern.matcher( source); List<String[]> matches = new ArrayList(); int numGroups = m.groupCount(); while( m.find()){ // group 0 is the full match String[] groups = new String[numGroups+1]; for( int i=0;i<=numGroups; i++){ groups[i] = m.group(i); } matches.add( groups); } String[][] arrMatches = new String[matches.size()][numGroups]; return matches.toArray( arrMatches ); }