0

I am trying to make a textbox in UWP only allow the following input: 9 digits, followed by a '.' (optional), followed by 2 digits (optional), by using Regex.

So far i have come up with an expression that allows 9 digits, or 9 digits and a '.'

string pattern = @"^(?<Number>([0-9]{0,9})(\.?)([0-9]{0,2}?))";           

I want it to accept 123456789 or 123456789.12 as inputs.

But now it only accepts 123456789 or 123456789.

1 Answers1

0

If you want to match 2 optional digits you could make the group optional (?:[0-9]{2})? because [0-9]{0,2} Matches 0, 1 or 2 digits.

The same goes for {0,9} which matches from 0 - 9 times a digit.

To match the whole pattern you should add an anchor $ to assert the end of the string.

If you don't need the capturing groups you could update your pattern to:

^(?<Number>[0-9]{9}\.?(?:[0-9]{2})?)$

Regex demo

The fourth bird
  • 154,723
  • 16
  • 55
  • 70