Why the 1st block works but the 2nd block doesn't?

int numberOfDigits = 2;
Pattern p = Pattern.compile("[01]{"+numberOfDigits+"}");
Matcher m = p.matcher("101100101011010011111000");
while(m.find()){
    System.out.println(m.group());
}

BLock 2

Scanner scannerSegment = new Scanner("101100101011010011111000");
   while(scannerSegment.hasNext(p)){
    String segment = scannerSegment.next(p);
        System.out.println(segment);

    }
Edit
Report