I have to validate and match numbers in a string
. Acceptable formats:
11,
-11,
+11,
(11),
(+11),
(-11).
Half parenthesis are not acceptable.
I have created a regex
which will match
11,
-11,
+11:
[\-\+]?\d++
This works well. I have created a pattern to apply to the parenthesis version too. This String is a base input for the string format method: ^(\(%1$s\))|(%1$s)$
where the simple parenthesis are for the the group capture and the escaped are for the match.
The result is:
^(\([\-\+]?\d++\))|([\-\+]?\d++)$
This match for the above strings also match the (+11
. Which is not acceptable. Also if the filter with parenthesis is the second condition than it match to the +11)
.
Any idea how to improve this?
UPDATE:
I can't delete this post, but it's wrong. I made that mistake to use the find
method instead of match
. My regex is good and working.