正则匹配整数 小数 百分数_通俗易懂一次理解正则规则python

正则有个特点:看似简单,但是想用的时候一下子又想不起来,搜索也不容易搜到我们具体想要的组合。因此很有必要一次性弄懂,并且记录下来,方便后续回忆查询。

有需要可以保存下边这张图,很全面。

d0fd7c72fb2a6d8238265da159bb4f2f.png

强规则

正则中有点强规则需要记住,跟我们的99乘法表类似:

^:开头字符;在该字符后接规则,表示以该规则为开头的内容

$:结尾字符;在该字符前接规则,表示以该规则为结尾的内容

{}:数量个数限制符;在{}加入数字表示限制个数,比如{n}表示n个,{n,}表示至少n个,{n,m}表示n-m个

[]:表示[]中任意出现的都可以;比如[0-9]表示0-9的数字都会匹配上

. :任意字符(除了n)

* :重复0-n个;比如.*表示所有字符。

?:0-1个

n:换行符

t:制表符

s:空格,制表符

S:(大写的S)匹配非空白

d:匹配数字,0-9

D:匹配非数字

w:匹配单词字符,即a-z,A-Z,_,各种语言数字(例如中文汉字)

W:匹配非单词字符

组合

有了上面的强规则,我们就可以根据这些内容搭配我们想要的内容:

数字:^[0-9]*$(表示以0-9的任意数字开头并重复n次都可以,并且结尾的时候也是以数字结尾的)

n位数字:^d{n}$(d表示数字,{n}表示n为数字)

至少n位的数字:^d{n,}$(同上,区别的只是{}中的用法)

m-n位的数字:^d{m,n}$

0和非零开头的数字:^(0|[1-9][0-9]*)$(在^后面加个()表示多种情况下的内容,中间用|分割开来,后面没用|分隔开的[0-9]*不参与开头的第一位限制,而是从第二位开始后的任意数字)

非负整数:^d+$

非零开头最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$

了解更多可以看图片中的内容

「卓拾书非卓师叔」

作者:卓师叔,爱书爱金融的NLPer

了解更多和AI、金融相关的知识,请关注公众号:卓拾书非卓师叔

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值