Java tutorial
/* Group 0: 1 Group 1: 1 Group 2: null Group 3: null Group 0: 2 Group 1: 2 Group 2: null Group 3: null Group 0: 3 Group 1: 3 Group 2: null Group 3: null Group 0: 4.5 Group 1: 4.5 Group 2: .5 Group 3: null */ import java.util.regex.Matcher; import java.util.regex.Pattern; public class MainClass { public static void main(String[] av) { String regEx = "[+|-]?(\\d+(\\.\\d*)?)|(\\.\\d+)"; String str = "a b c d e 1 2 3 4.5 "; Pattern pattern = Pattern.compile(regEx); Matcher m = pattern.matcher(str); while (m.find()) { for (int i = 0; i <= m.groupCount(); i++) { System.out.println("Group " + i + ": " + m.group(i)); // Group i substring } } } }