Python3で [xx-yy] という形式で範囲を示した数(文字列)を、正規表現に変換するには、どのように記述すれば良いでしょうか?

入力例

hoge1 = '[10-20]'
hoge2 = '[0-100]'
hoge3 = '[23-94]'

期待する出力

hoge1 = '1[0-9]|20'
hoge2 = '[1-9]?[0-9]|100'
hoge3 = '2[3-9]|[3-8][0-9]|9[0-4]'