Le seul moyen est de traduire la plage en un motif (évidemment), pour cela, vous devez oublier que vous avez affaire à des entiers mais ne voir que les chiffres comme des "caractères normaux". Pour votre exemple de plage :
^(?:1[0-57]?|3)$
Remarque :regex n'est évidemment pas le moyen de vérifier si un entier est dans une plage numérique. Dans la vraie vie, vous utiliserez de bons vieux conditionnels.