I'm no regex genius, but can you please stop suggesting the use of it when it is highly unnecessary? You've done it a number of times and I'm surprised nobody else has said anything yet. A much simpler and faster approach (although speed is of least importance here) would have been to use "isnum".
Besides that, it seems like you don't even understand regex that well because your provided pattern has a fair amount of useless overhead. For example why are you capturing matching results if you're not going to do anything with them elsewhere in the code? The 'g' modifier also has no application here. You might want to view some tutorials before using it further as well as note when it may or may not be the most practical solution.