I would expect to increment up till it reaches the value of arrayChars.length. But, in the code above when I ask to print out the value of arrayChars[i] only when it finds a pattern match against the regular expression, the value of i isn't as the counter, it only gives an incremental value when the find is true. In other words, there are 19 characters in the array and I only want to print out the characters at the index position when find is true. Instead it finds the 8 times find is true and returns the first 8 characters. Why is this the case? I can't wrap my head around it.