正则判断是否为0-9整数_正则表达式(三)

四、贪婪模式与非贪婪模式

1.贪婪模式:正则表达式匹配时,会尽量多的匹配符合条件的内容

举例如下:

d73de9c2bc35f3feb408c8db8629ef89.png

注意:grep默认采用贪婪匹配,可能会对我们的测试结果造成干扰,大家可以上网使用“正则在线转换工具”进行测试

2.非贪婪模式:正则表达式匹配时,会尽量少的匹配符合条件的内容,也就是说,一旦发现匹配符合要求,立马就匹配成功,而不会继续匹配下去(除非有g,开启下一组匹配)

举例如下:

79727027f214d6dbb4a32d724c80b131.png

五、零宽断言

1.所谓断言,是用来声明一个应该为真的事实。在正则表达式中,只有当断言为真时才会继续进行匹配。

2.零宽断言:像用于查找某些内容之前或者之后的东西,其中一些特殊字符如“b、^、$”等用于指定一个位置,这个位置应满足一定的条件。

3.分类:

(1)零宽度正预测先行断言(?=exp)

它断言自身出现的位置之后能匹配的表达式exp。如:bw+(?=ingb),表示匹配以ing结尾的单词的前面的部分(除ing以外的部分)。当我们要查找“I'm singing while you're dancing.”时,它会匹配sing和danc

举例如下:

840cf9e7cd7dfd0a06a7218549cf056d.png

(2)零宽度正回顾后发断言(?>=exp)

它断言自身出现的位置的前面能匹配的表达式exp。如:(?<=bre)w+b会匹配以re开头的单词的后半部分(除er以外的部分),例如:在查找“reading a book”时,它匹配ading

举例如下:

602927afca7f4eb95b660ee40cf38fbe.png

六、简单练习

1.手机号码

dbe31d2a340193bedd572c8f8c03e61e.png

2.非零的正整数

46a72bc4c7069f0e5213a8cf7dc9b4cb.png

3.非零开头的最多带两位小数的数字

5dbc21e9d4fdf46bd8f3a0ca06b11030.png

4.由数字和26位字母组成的字符串

0b274394b8f34cbc0c48f9873510fba8.png

5.QQ号,从10000开始

a1b377a31881f5de62220f684b9d3dfe.png

6.IP地址

d+.d+.d+.d+

7.判断账号是否合法

^[a-zA-Z0-9][a-zA-Z0-9_]{4,15}$

8.日期格式

^d{4}-d{1,2}-d{1,2}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值