Matching the regex /^(?:\.(\d{3}))*$/s
on .234.567
produces the following output:
array (size=2)
0 =>
array (size=1)
0 => string '.234.567' (length=8)
1 =>
array (size=1)
0 => string '567' (length=3)
Why is 234
not listed in the second subarray?