python-- regular match numbers

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: * + 

Guess you like

Origin www.cnblogs.com/heymonkey/p/12367366.html