import java.util.* ;
import java.util.stream.Collectors ;
import java.util.regex.* ;
import java.util.stream.Collectors ;
class Ideone
{
{
for ( String item
: 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." ) ) }
public static List
< String
> findBits
( String text
) { Pattern pattern = Pattern.compile ( "\\ b(?>1(?:01)*0?|0(?:10)*1?)\\ b" ) ;
Matcher matcher = pattern.matcher ( text) ;
return matcher
.results ( ) .map ( MatchResult:: group)
.collect ( Collectors.toList ( ) ) ;
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS51dGlsLnN0cmVhbS5Db2xsZWN0b3JzOwppbXBvcnQgamF2YS51dGlsLnJlZ2V4Lio7CmltcG9ydCBqYXZhLnV0aWwuc3RyZWFtLkNvbGxlY3RvcnM7CgpjbGFzcyBJZGVvbmUKewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgkgICAgZm9yIChTdHJpbmcgaXRlbSA6IGZpbmRCaXRzKCJubyBiaW5hcnkgbnVtYmVycyBoZXJlIDM0MzQuIEhleSBmcmllbmQgdGhpcyBpcyBhIDEuIFRob3NlIGFyZSAxMDAxLCAxMDEwLCAxMDExLCAxMTAwLCAxMTAxLiBUaGlzIGlzIGEgbG9uZyB2YWx1ZSAxMDEwMTAxMDEwIGFuZCB0aGlzIG9uZSBhcyB3ZWxsIDEwMTAxMDEwMTAxMDEwMTEuIDAgKyAwIGlzIGEgYWxzbyBhIDAuIikpCgkJCVN5c3RlbS5vdXQucHJpbnRsbihpdGVtKTsKCX0KCQoJcHVibGljIHN0YXRpYyBMaXN0PFN0cmluZz4gZmluZEJpdHMoU3RyaW5nIHRleHQpIHsKCSAgICBQYXR0ZXJuIHBhdHRlcm4gPSBQYXR0ZXJuLmNvbXBpbGUoIlxcYig/PjEoPzowMSkqMD98MCg/OjEwKSoxPylcXGIiKTsKCSAgICBNYXRjaGVyIG1hdGNoZXIgPSBwYXR0ZXJuLm1hdGNoZXIodGV4dCk7CgkgICAgcmV0dXJuIG1hdGNoZXIKCSAgICAgICAgLnJlc3VsdHMoKS5tYXAoTWF0Y2hSZXN1bHQ6Omdyb3VwKQoJICAgICAgICAuY29sbGVjdChDb2xsZWN0b3JzLnRvTGlzdCgpKTsKCX0KCQp9