fork download
/* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
	public static void main (String[] args) throws java.lang.Exception
	{
		String str = "hello, ,, one-word. yes - no: yea?";
		String[] arr = str.split("\\s+-\\s+|(?:(?!-)[\\s\\p{Punct}])+");
		
		for (String s: arr)
			System.out.printf("[%s]%n", s);
	}
}
Success #stdin #stdout 0.11s 320576KB
stdin
Standard input is empty
stdout
[hello]
[one-word]
[yes]
[no]
[yea]