import java.util.regex.*;
import java.util.*;
import java.util.stream.Collectors;

class Ideone
{
	public static Pattern pattern = Pattern.compile("\\b(?!\\d*(\\d)\\1)[10]+\\b");
	
	public static List<String> findBits(String text) {
	    Matcher matcher = pattern.matcher(text);
	    return pattern.matcher(text)
            .results()
            .map(MatchResult::group)
            .collect(Collectors.toList()); //.toArray(String[]::new);
	}
        
	public static void main (String[] args) throws java.lang.Exception
	{
		List<String> r = findBits("no binary numbers here 3434. Hey friend this is a 1. Those are 1001, 1010, 1011, 1100, 1101. This is a long value 1010101010 and this one as well 1010101010101011. 0 + 0 is a also a 0.");
		System.out.println(r);
	}
}