I\'m trying to match number with regular expression like:
34-7878-3523-4233
with this:
^[0-9][0-9-]*-[0-9-]*[0-9]$
<
See it in action: Regexr.com
^[0-9]+(-[0-9]+)+$
1-2
1-2-3
1
1-
1-2-
1-2----3
1---3
Use the normal*(special normal*)*
pattern:
^[0-9]+(-[0-9]+)+$
where normal
is [0-9]
and special
is -
That's because, you have included the hyphen in the allowed characters in your character class. You should have it outside.
You can try something like this: -
^([0-9]+-)*[0-9]+$
Now this will match 0 or more repetition of some digits followed by a hyphen. Then one or more digits at the end.