5.re.match()和re.search()的使用和区别(Python版)

昨天是我第一天学正则表达式,遇到了一点问题没解决,今天回过头来想不断试代码,其实很简单,跟我一起学~

基础知识:

图片讲解:

1.一般会写是以什么模式去进行match和search的搜索

2.match:从头开始匹配,匹配一个对象,如果开头是pattern的模式,找到了就返回,没有找到就None,不再继续进行下去

   search:从头开始匹配,匹配一个对象,如果开头没有符合的往后匹配,直到找到一个为止,匹配到最后没有找到就None

3.group得到匹配结果

注意:

1.match搜索的只是开头的位置,search搜索的整个字符串

2.两者都只匹配一个对象(我一开始傻乎乎的以为search找多个)

 

例子剖析:

为了方便讲解,我在这里打了序号1-5,接下来我说数字几就是对应代码,看清楚了哈~

1.我们先要导入re模块,不然后面操作是执行不了的

2.输入字符串,定义为input3

3.这里涉及到一个知识点,命名的问题,如图(为了配合讲解用的,看一眼就会了):

.

先定义模式pattern:命名为lol,非数字一个或者多个

从开头位置开始匹配,搜索整个字符,匹配到一个对象就停止

匹配结果输出

讲解:我们看到开头“自然语言处理”符合匹配要求,直接输出

 

4.很简单,一起看看~

先定义模式pattern:命名为dota和lol,数字一个或者多个和非数字一个或者多个

dota从开头位置开始匹配,搜索整个字符,匹配到一个对象就停止

匹配结果输出

讲解:我们看到开头位置是“自然语言处理”不符合要求,跳过开头继续匹配,第二个“123”被搜索出来

 

5.有点坑,但是简单,最后一个了接着看~

坑点:这里是先dota后lol-->dota已经输出“123”,lol要接着它往后匹配(非数字一个或者多个)-->“机器学习”

 

完事儿,大家都很棒~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值