Reputation: 3184
I use a regexp validator and I want to restrict the use of anything but the pattern:
5414.1;123;412.1;41241;
...
I tried to use [0-9;\.]*
but I can't make it match only patterns which contain one(1) point after the text and before ;
.
I tested using http://regexpal.com/
.
Upvotes: 2
Views: 137
Reputation: 1
That is not perfect, too, but is already in the near... for example it allowed -01.5.
((-|)[0-9]+(\.[0-9]*[1-9]|)\;)*(-|)[0-9]+(\.[0-9]*[1-9]|)
Instead an (x|)
-like expression you can also use x?
. (Thanks @OGHaza)
Upvotes: 1
Reputation: 41
^(\d+(\.\d+)?;)+$
the ^$
will prevent accepting a part of the string
Upvotes: 4
Reputation: 6073
If the data has to end with a ;
:
(-?\d+(\.\d+)?\;)+
Otherwise:
(-?\d+(\.\d+)?)(;-?\d+(\.\d+)?)*;?
These will not allow empty input but you can achieve that behaviour by replacing the +
in the first example with *
and by wrapping the second one in (...)?
.
Upvotes: 4