条件性 正则表达式的运用

Posted tony-stark

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了条件性 正则表达式的运用相关的知识,希望对你有一定的参考价值。

现在有一个需求,我们需要一个正则 要求是9位数字,最多保留2位小数

思考 当以 0开头时 只有2种可能 小数   0,如果既不是0 又不是小数的话 则是一个正数,正数都不满足的话 则字符串不符合要求

条件性正则的MDN:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions/Assertions

具体是  (?<=条件)then|else 

所以可以构造出:/(?<=^0.)d{1,2}$|(^[123456789]{1}d{0,8}(.d{1,2}){0,1}$)|(^0$)/

解释:条件: 0. 匹配(0.)的话 则 d{1,2} 小数后面出现1-2位

         否则  正数:开头第一个不能是0的数:^[123456789]{1},后面的数字出现0-8次 d{0,8},可以匹配小数 则小数部分出现0,1:  (.d{1,2}){0,1}$

         或者匹配0:  ^0$

以上是关于条件性 正则表达式的运用的主要内容,如果未能解决你的问题,请参考以下文章

Python爬虫解析神器-正则表达式如何正确运用?案例详解

Python爬虫解析神器-正则表达式如何正确运用?案例详解

正则表达式中 ?,+,*,{}的运用

jquery中正则表达式运用样例

正则表达式的运用方法

正则表达式在python中的运用0x01