Why not work in preg_match_all php?

The regular season itself is working and finds all occurrences of, here https://regex101.com/r/m78Sgd/1/
But in php, the array is returned empty? Why and how to do that would work?
preg_match_all("/(\d{1,2}\S\d{3})/m", $row['toys'], $prices);
print $prices; //empty
print $prices[0];//empty
print $prices[0][0];//empty

$row['toys'] - hundred percent is not empty and is displayed on the screen
April 3rd 20 at 17:45
2 answers
April 3rd 20 at 17:47
There as thousands separator used thin space (U+2009).
UTF-8 is a sequence of three bytes 0xE2 0x80 0x89.
For normal operation \s with different white-space characters need Unicode modifier /u.
preg_match_all("/(\d{1,2}\s\d{3})/u", $row['toys'], $prices);
April 3rd 20 at 17:49
In the text some specific gap that is not looking for the pattern \S. I just highlighted this lacuna from the text and inserted in the regular season. Work. "m" at the end of the regular season - once.

preg_match_all('/\d+? \d+/', $row['toys'], $prices);

Find more questions by tags PHPRegular expressions