What is the difference between [0-9999] and \d{1,3} in a regular expression in PHP?

The difference between [0-9999] and \d{1,3} in a regular expression in PHP is that [0-9999] matches any digit from 0 to 9, and the number 9999, while \d{1,3} matches any digit between 0 and 9, between 1 and 3 times. This means that [0-9999] would match any digit between 0 and 9, while \d{1,3} would match any number between 0 and 999.

// Using [0-9999]
$pattern1 = '/[0-9999]/';
$string1 = '1234';
if (preg_match($pattern1, $string1)) {
    echo 'Match found using [0-9999]';
} else {
    echo 'No match found using [0-9999]';
}

// Using \d{1,3}
$pattern2 = '/\d{1,3}/';
$string2 = '1234';
if (preg_match($pattern2, $string2)) {
    echo 'Match found using \d{1,3}';
} else {
    echo 'No match found using \d{1,3}';
}