use the lookbehind assertion for this, for example for your case use look behind for behind of your match case, it can't be "A-Z" or "a-z" or "0-9" then you should create a set from these and insert it to look-behind.
this is your regex
(?<=[^a-zA-Z0-9])\d+
and this is your demo
http://regex101.com/r/dN8sA5/21
then you should replace it with NULL string.
Edit:
it's very better to Trim your final string with one of these approach
- Use Regex:
\s*(?<=[^a-zA-Z0-9])\d+\s*
- Use Trim: after the replacing your string, use
String.Trim for removing arounding space with the string.
I really prefer the first approach...
for more information about look-behind see this:
http://www.regular-expressions.info/lookaround.html
A1234becameA?