theRegex="[\\s,*]+" (one or more spaces, commas or asterisk)
Input 1 2:no 2:no 0.002,*0.998
Output ["1","2:no","2:no","0.002","0.9"]
Edit
The input String is " 1 2:no 2:no 0.002,*0.998", and the expected output is ["no", "no", "0.002", "0.998"]
In that case it is not possible to use split alone, because for ignoring 1 you need to treat \d as a delimiter, but \d is also part of the data in 0.002.
What you can do is:
Pattern pattern = Pattern.compile("^\\d(?:$|:)");
String[] matches = lines.trim().split("[\\s,*]+");
List<String> output = new LinkedList<String>(Arrays.asList(matches));
for (Iterator<String> it=output.iterator(); it.hasNext();) {
if (Pattern.matcher(it.next()).find()) it.remove();
}
find("^\\d(?:$|:") matches strings of the form digit or digit:whatever. Note that the pattern is compiled once, then it is applied to the strings in the list. For each string one has to construct a matcher.