0

I have two groups, one required and one optional, but if the optional is set and is invalid, the whole thing should not be matched. Currently if the optional group is invalid it stills accepts it if the required group is valid.

Here is what i have so far: Direct link to regexp

    Regexp : ([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}(\-[a-zA-Z]{1,50})?)

    Should match
    0.0.0
    0.0.0-a
    1.5.89-lorem

    Mustn't match (even partially)
    a.2.3         -> 'a' is not a number
    1.5.89:lorem  -> only '-' is valid to separate version and letters
    1.2.3-4       -> '4' is not letter(s)
    5.6.8.9       -> '9' is not letters and '.' used instead of '-'
    8.k.2-j       -> 'k' is not a number
    7895.5.8      -> '7895' is 4 digit long, 3 is the max
Arshellan
  • 45
  • 3

0 Answers0