How to validate numeric values which may contain dots or commas?

后端 未结 6 1191
情歌与酒
情歌与酒 2020-12-13 05:31

I need a regular expression for validation two or one numbers then , or . and again two or one numbers.

So, these

6条回答
  •  攒了一身酷
    2020-12-13 06:31

    In order to represent a single digit in the form of a regular expression you can use either:

    [0-9] or \d

    In order to specify how many times the number appears you would add

    [0-9]*: the star means there are zero or more digits

    [0-9]{2}: {N} means N digits

    [0-9]{0,2}: {N,M} N digits or M digits

    [0-9]{0-9}: {N-M} N digits to M digits. Note: M can be left blank for an infinite representation

    Lets say I want to represent a number between 1 and 99 I would express it as such:

    [0-9]{1-2} or [0-9]{1,2} or \d{1-2} or \d{1,2}

    Or lets say we were working with binary display, displaying a byte size, we would want our digits to be between 0 and 1 and length of a byte size, 8, so we would represent it as follows:

    [0-1]{8} representation of a binary byte

    Then if you want to add a , or a . symbol you would use:

    \, or \. or you can use [.] or [,]

    You can also state a selection between possible values as such

    [.,] means either a dot or a comma symbol

    And you just need to concatenate the pieces together, so in the case where you want to represent a 1 or 2 digit number followed by either a comma or a period and followed by two more digits you would express it as follows: >

    [0-9]{1,2}[.,]\d{1-2}

    Also note that regular expression strings inside C++ strings must be double-back-slashed so every \ becomes \\

提交回复
热议问题