The partial pattern matches "-" and "-125", whereas the final matches "-125" but not "-".Take a look at what these expressions represent (see Table 1).
The built-in method is fine for cases where validating user input is not purely structural in nature.
Validation is a good candidate for encapsulation in a self-validating control if the input is independent of the rest of your application's state.
You can create a control that provides realtime feedback by letting the user type the input and have that input validated for each character as it's entered.
This means you need two regular expressions in the validation process: one that validates partial input, and one that validates the final input.
You can translate the validation patterns into plain English once you define the regular expression elements.