I'd say that it's because the $ is a symbol and 3cm where 3 and C and M are all individual characters.
You could do a search for in GREP
Double click the empty box there - and navigate to Advanced Formatting and set it to No Language.
Alternatively, if you're using Paragraph Styles
Setup a new character style called No Language - and in the Advanced Formatting section set it to No Language
In the Paragraph Style go to GREP and insert
and choose the new No Language
This sets the \d (digit) + (keep looking for digits) ? (stop looking at end of string) (cm|mm|mph) where the brackets indicate a group and the pipe | indicates OR
Of course this also means that if it's 10.45cm or 10.456 cm it won't work - well it will find either .45cm and not .456 cm as there's a space.
So you could do
Not sure how well that would work though - as I haven't tried it.
Thank you very much for taking the time and trouble to respond to my query.
I haven’t yet tested it out but am confident enough to guess you know what you are talking about – you certainly sound as though you do! – and have marked your answer as ‘Correct’.
Once again, many thanks.
With kind regards,
Perth, Western Australia