正则表达式简单解读

一、先了解各各简单字符所表达的意义

部分正则表达式符号说明:

^       匹配输入字行首,开始位置
[1-9]  只能取1-9之间的正整数
{1}     前面的表达式只能取一位
\d     正整数,等同于[0-9]
*       前面表达式任意位数
|        或的意思
{1,2}  表示最少重复1次,最多重复2次
?      简单理解为或有或无
$      匹配结束位置

二、分解

正则表达式校验金额最多保留两位小数?

那么必须满足如下条件:

  • 正数金额,如1,2等
  • 一位小数,如2.1, 2.2等
  • 二位小数,如2.12, 2.13等

1、第一步,小数点之前表达式

两种情况:

  22.2 不能以0开头
  [1-9]{1}\d*

  0.2 开头为0,并且只有1位
  0{1}

两种情况结合起来:
  ([1-9]{1}\d*)|(0{1})

第二步,小数点及小数位置

三种情况:

  2.1 只有一位小数

  2.12 有2位小数
  \.\d{1,2}

  2 没有小数
  (\.\d{1,2})?

把两步拼接到一起,就是前面的表达式: (^和$可不加,具体用法见正则表达式中的^和$)

  ^(([1-9]{1}\d*)|(0{1}))(\.\d{1,2})?$

原文地址:https://www.cnblogs.com/CandyDChen/p/15789411.html