函数:match(regex,string,[flags=0])
参数:
regex:就是正则表达式(定义了一套验证规则)
string:需要被验证的字符串数据
flags:模式/标志位,默认情况下(不定义) --> 不开启任何的模式
功能:
从头开始尝试匹配字符串数据(注意:如果开头就不匹配直接返回None值),
如果匹配成功,那么就会返回一个match对象;
如果匹配不成功,那么就会返回None值
flags的取值:
re.I:忽然大小写
match对象有5个常用的函数:
group():返回匹配成功的数据(原串中的某子串数据)
start():返回匹配成功的数据的起始索引
end():返回匹配成功的数据的结束索引
span():返回一个元祖对象,有两个元素组成;
第一个元素记录了匹配成功的起始索引
第二个元素记录了匹配成功的结束索引
groups():返回所有子组的信息,以元祖的形式返回;如果没有分组,返回空元祖对象
【注意事项】:
1).正则表达式返回的索引值需要满足含头不含尾的特点
2).正则表达式验证的数据内容严格区分大小写
3).我们之后在定义正则规则的时候,在引号前面+一个r,无脑操作...
import re
matchobj=re.match(r'www','www.baidu.com')
print(matchobj,type(matchobj)) print(re.match(r'www','www.sina.com'))
print(re.match(r'www','www.sina.com').group())
print(re.match(r'www','www.sina.com').start())
print(re.match(r'www','www.sina.com').end())
print(re.match(r'www','www.sina.com').span())
print(re.match(r'www','www.sina.com').groups())
print(re.match(r'WWW','www.sina.com'))
print(re.match(r'WWW','www.sina.com',flags=re.I)) '''
使用第二种方式实现正则对数据的验证:
compile(regex,[flags=0]):返回一个Pattern对象(认为:它内部已经封装了一套regex和flags)
可以再通过Pattern对象继续调用match函数(此时只需要传递一个参数:string即可)
注意:
以上函数中涉及的参数:regex、flags、string和re.match中的参数一样理解
'''
pat=re.compile(r'www',flags=re.I)
print(pat,type(pat))
print(pat.match('wWw.baidu.com'))

返回目录

python五十六课——正则表达式(常用函数之match)的更多相关文章

  1. python五十六课——正则表达式(常用函数之search())

    函数:search(regex,string,[flags=0]):参数:和match一样理解功能:从头开始匹配字符串中的数据,如果头不匹配继续往后尝试匹配,直到有第一个匹配成功的子数据,立即返回一个 ...

  2. python五十六课——正则表达式(常用函数之findall)

    4).函数:findall(regex,string,[flags=0]): 参数: 和match.search一样理解 功能: 将所有匹配成功的子数据(子串),以列表的形式返回: 如果一个都没有匹配 ...

  3. python五十六课——正则表达式(常用函数之compile())

    2).compile(regex,[flags=0]):返回一个Pattern对象(认为:它内部已经封装了一套regex和flags) 可以再通过Pattern对象继续调用match函数(此时只需要传 ...

  4. python五十九课——正则表达式的拓展内容

    演示正则表达式的拓展内容:函数:finditer(regex,string,[flags=0]):参数:和match.search.findall一样理解功能:将所有匹配的数据封装为一个一个的matc ...

  5. python五十八课——正则表达式(替换)

    替换:sub(regex,repl,string,count,[flags=0]): 替换数据,返回字符串(已经被替换完成后的内容)subn(regex,repl,string,count,[flag ...

  6. python五十八课——正则表达式(分组)

    演示正则中的替换和切割操作:在这之前我们先学习一个分组的概念: 分组:在正则中定义(...)就可以进行分组,理解为得到了一个子组好处:1).如果正则中的逻辑比较复杂,使用分组就可以优化代码的阅读性(更 ...

  7. python五十八课——正则表达式(切割)

    切割:split(regex,string):返回一个列表对象 import re str1='i love shenzhen so much' regex=r' +?' lt=re.split(re ...

  8. python第十六课——外部函数and内部函数

    1.外部函数&内部函数 内部函数: 定义在某个函数的内部,就是内部函数: [注意事项]: 1).内部函数可以随意使用它外部函数中的内容 2).外部函数不能使用内部函数中的内容 3).内部函数不 ...

  9. python第二十六课——装饰器

    装饰器是闭包的一种使用场景: python中的装饰器在定义上需要传入一个函数对象, 在此函数执行之前或者之后都可以追加其它的操作, 这样做的好处是,在不改变源码(原本业务逻辑的)同时,进行功能的扩展: ...

随机推荐

  1. mysql中的data下的数据文件(.FRM、.MYD、.MYI)恢复为数据

    记一次mysql中的data文件操作经历 想拿到一个项目的最新的数据,做功能升级使用,备份一份数据同时也作为本地测试数据,文件有些大,我直接通过远程的phpmyadmin程序导出,不能愉快的玩耍,直接 ...

  2. python的Web框架,会话保持及Form表单

    会话 从打开浏览器访问到关闭浏览器,这就是一次会话. cookie 技术 cookie是保存在浏览器的,安全度比较低. # 设置cookie范式,在view中设置 def index(request) ...

  3. HTML XML 介绍

    一. HTML(HyperTextMark-upLanguage)即超文本标记语言,是WWW的描述语言. 二. XML即ExtentsibleMarkup Language(可扩展标记语言), XML ...

  4. git入门(廖雪峰老师)

    根据廖雪峰老师的git教程进行学习总结: 1.之前上班用的都是svn进行管理,那么svn和git有什么区别呢? svn是集中式的版本控制系统,而git是分布式版本控制系统,那么集中式和分布式版本控制系 ...

  5. ActiveReport系列报表开发随笔收集

    转自:博客园 http://www.cnblogs.com/dahuzizyd/archive/2007/04/11/ActiveReport_All.html 使用ActiveReport for ...

  6. 用HTML,Vue+element-UI做桌面UI

    DSkin封装的WebUI开发模式开发桌面应用,使用Vue很方便.使用起来有点像WPF 下面用 element-UI 做个简单的例子. 运行效果:可以自己根据需求改布局效果. 主框架的element- ...

  7. 随机漂浮图片、右侧上下浮动快捷栏JS

    随机漂浮图片JS: //公共脚本文件 main.js function addEvent(obj,evtType,func,cap){ cap=cap||false; if(obj.addEventL ...

  8. 学Java的第17天。呃。。。今天有点奇葩

    神奇的老师在网上看到狗跳楼的视频然后就想到抛物线问题: 还是 属性和方法的调用: package sklx; public class Dog{ private float v = 30.0f; pr ...

  9. Hadoop HDFS 设计随想

    目录 引言 HDFS 数据块的设计 数据块应该设置成多大? 抽象成数据块有哪些好处? 操作块信息的命令 HDFS 中节点的设计 有几种节点类型? 用户如何访问 HDFS? 如何对 namenode 容 ...

  10. Placement of class definition and prototype

    When I create a function, I can put the code for it after main if I put the prototype above main. Fo ...