[0-9] is not always equivalent to d. In python3, [0-9] matches only 0123456789 characters, while d matches [0-9] and other digit characters, for example Eastern Arabic numerals ٠١٢٣٤٥٦٧٨٩.
d matches any single digit in most regex grammar styles, including python.
Regex Reference