That's close but I have to be able to match "r10" , "r10.5" , "rect20x50" or "rect20.5x50.5".
And in reality I the word char part of the string can be almost anything. And there may or may not be a second set of number chars. That's why I left the trailing "?" off of the regex.