set d(aa1) 1
set d(aa2) 1
set d(aa3) 1
set d(aa4) 1
set d(aa5) 1
set d(aa6) 1
set d(aa7) 1
set d(aa8) 1
set d(aa9) 1
set d(aa10) 1
set d(aa11) 1
set regexp "a*\[1-9\]"
set res [array names d -glob $regexp]
puts "res = $res"
В этом случае результат:
res = aa11 aa6 aa2 aa7 aa3 aa8 aa4 aa9 aa5 aa1
Но при изменении регулярного выражения от a*\[1-9\]
до a*\[1-10\]
результаты становятся:
res = aa11 aa10 aa1