Pourquoi les regex pour le match 1 à 10 écrit que [1-9]|10 [1-10]?

Pourquoi l'expression régulière pour rechercher des numéros de 1 à 10 qui s'écrit comme suit?

[1-9]|10

Au lieu de:

[1-10]

Ou ceci:

[1-(10)]
Il s'agit d'un caractère gamme et pas un plage. Fondamentalement, vous le lire comme un nombre, mais regex se lit comme un simple caractère.
[1-10] correspondent à une 1 ou un 0 et rien d'autre.

OriginalL'auteur Baumr | 2013-06-27