Original: https://www.cnblogs.com/so-letitgo/p/10552415.html
A Case
- Digital: ^ [0-9] * $
- The number n of bits: ^ \ d {n} $
- At least an n-bit number: ^ \ d {n,} $
- Mn-bit numbers: ^ \ d {m, n} $
- Digital zero and non-zero at the beginning: ^ (0 | [1-9] [0-9] *) $
- Beginning with zero up to two decimal places: (. [0-9] {1,2})? ^ ([1-9] [0-9] *) $ +
- Positive or negative number with decimals 1-2:?? ^ (\ -) \ d + (. \ \ D {1,2}) $
- Positive, negative, and decimals:? ^ (\ - | \ +) \ d + (. \ \ D +) $?
- Two positive real number of decimal places: (. [0-9] {2})? ^ [0-9] + $
- 1 to 3 a positive real number of decimal places: (. [0-9] {1,3})? ^ [0-9] + $
- Nonzero positive integer: ^ [1-9] \ d * $ or ^ ([1-9] [0-9] *) or $ {1,3} ^ \ + [1-9] [0-? 9] * $
- Negative integer zero: ^ \ - [1-9] [] 0-9 "or * ^ $ - [1-9] \ D * $
- Non-negative integers: ^ \ d + $ or ^ [1-9] \ d * | 0 $
- Non-positive integer: ^ - [1-9] \ d * | 0 $ or ^ ((- \ d +) | (0 +)) $
- ? Non-negative float:. ^ \ D + (. \ \ D +) $ or ^ [1-9] \ d * \ \ d * | 0 \ \ d * [1-9] \ d * | 0 \? .0+ | 0 $
- Non-positive float: ^ (.?.? (- \ d + (\ \ d +)) | (0 + (\ 0 +))) $ or ^ (- ([1-9] \ d * \ \ d. * |. 0 \ \ d * [1-9] \ d *)) | 0 \ 0+ |?. 0 $
- Positive float: ^ [1-9] \ d * \ \ d * | 0 \ \ d * [1-9] \ d * $ ^ or (([0-9] + \ [0-9. ] * [1-9] [0-9] *) | ([0-9] * [1-9] [0-9] * \ [0-9] +) |. ([0-9] * [1-9] [0-9] *)) $
- Negative float: ^ - (.. [1-9] \ d * \ \ d * | 0 \ \ d * [1-9] \ d *) $ or ^ (- (([0-9] + \ . [0-9] * [1-9] [0-9] *) | ([0-9] * [1-9] [0-9] * \ [0-9] +) |. ([ 0-9] * [1-9] [0-9] *))) $
- Float: ^ (-? \ D +) (. \ \ D +) $ or ^ - ([1-9] \ d * \ \ d * | 0 \ \ d * [1-9] \ d??.. * | 0 \ 0+ |?. 0) $
Two summary
Digital: \ D digits limits: {m, n} the numerical ranges: [nm], Occurrence: * +
A Case
- Digital: ^ [0-9] * $
- The number n of bits: ^ \ d {n} $
- At least an n-bit number: ^ \ d {n,} $
- Mn-bit numbers: ^ \ d {m, n} $
- Digital zero and non-zero at the beginning: ^ (0 | [1-9] [0-9] *) $
- Beginning with zero up to two decimal places: (. [0-9] {1,2})? ^ ([1-9] [0-9] *) $ +
- Positive or negative number with decimals 1-2:?? ^ (\ -) \ d + (. \ \ D {1,2}) $
- Positive, negative, and decimals:? ^ (\ - | \ +) \ d + (. \ \ D +) $?
- Two positive real number of decimal places: (. [0-9] {2})? ^ [0-9] + $
- 1 to 3 a positive real number of decimal places: (. [0-9] {1,3})? ^ [0-9] + $
- Nonzero positive integer: ^ [1-9] \ d * $ or ^ ([1-9] [0-9] *) or $ {1,3} ^ \ + [1-9] [0-? 9] * $
- Negative integer zero: ^ \ - [1-9] [] 0-9 "or * ^ $ - [1-9] \ D * $
- Non-negative integers: ^ \ d + $ or ^ [1-9] \ d * | 0 $
- Non-positive integer: ^ - [1-9] \ d * | 0 $ or ^ ((- \ d +) | (0 +)) $
- ? Non-negative float:. ^ \ D + (. \ \ D +) $ or ^ [1-9] \ d * \ \ d * | 0 \ \ d * [1-9] \ d * | 0 \? .0+ | 0 $
- Non-positive float: ^ (.?.? (- \ d + (\ \ d +)) | (0 + (\ 0 +))) $ or ^ (- ([1-9] \ d * \ \ d. * |. 0 \ \ d * [1-9] \ d *)) | 0 \ 0+ |?. 0 $
- Positive float: ^ [1-9] \ d * \ \ d * | 0 \ \ d * [1-9] \ d * $ ^ or (([0-9] + \ [0-9. ] * [1-9] [0-9] *) | ([0-9] * [1-9] [0-9] * \ [0-9] +) |. ([0-9] * [1-9] [0-9] *)) $
- Negative float: ^ - (.. [1-9] \ d * \ \ d * | 0 \ \ d * [1-9] \ d *) $ or ^ (- (([0-9] + \ . [0-9] * [1-9] [0-9] *) | ([0-9] * [1-9] [0-9] * \ [0-9] +) |. ([ 0-9] * [1-9] [0-9] *))) $
- Float: ^ (-? \ D +) (. \ \ D +) $ or ^ - ([1-9] \ d * \ \ d * | 0 \ \ d * [1-9] \ d??.. * | 0 \ 0+ |?. 0) $
Two summary
Digital: \ D digits limits: {m, n} the numerical ranges: [nm], Occurrence: * +